Groovy est un langage souple et dynamique pour la machine virtuelle Java, ce qui rend les tests extrêmement Outre ses nombreuses autres fonctionnalités. Parce que Groovy est 100% compatible avec byte-code Java, peuvent être écrites dans ce langage des programmes et des bibliothèques (belles et il ya beaucoup) l'utilisation. Il n'est donc pas surprenant que, dans Groovy nombreuses options disponibles pour tester une application web.
J'ai choisi l'équipe de Groovy et le framework de test HTMLUnit a décidé, sur les autres outils open source comme Canoo WebTest , JWebUnit , WebDriver , JSFUnit et Celerity Fit. HTMLUnit supporte JavaScript et l'a ainsi HTTPUnit un avantage sur les solutions PHP.J'aime la syntaxe courte et laconique de Groovy excellente et il est maintenant temps de regarder l'exemple de code pour la tâche:
Une 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | de.koo.groovy.webtests paquet importation junit.framework.TestCase importation com.gargoylesoftware.htmlunit.WebClient com.gargoylesoftware.htmlunit.html importation. * TestCase { public class Google Recherche extends TestCase { Def WebClient throws Exception { void setup () throws Exception { WebClient ( ) webclient = WebClient nouvelle () } throws Exception { test de recherche vide () throws Exception { 'http://www.google.de' url = def 'http://www.google.de' ( url ) Page = html client Web. GetPage (url) == page. titleText affirmer «Google» == page. TitleText page. getFormByName ( 'f' ) sous forme def = page. getFormByName («f») 'q' ) . valueAttribute = 'http client examples' Formulaire. GetInputByName ('q') une valeur d'attribut. = 'Les exemples client http' ( form. getInputByName ( 'btnG' ) ) page Formulaire =. présenter (getInputByName Form. ('btnG')) { a -> ancres de pages par {a - ..> a. classAttribute == 'l' ) { if (un attribut de classe == 'l') { $a.hrefAttribute \" >$a.textContent</a>" println "<a href= $a.hrefAttribute \" \"> $ a.textContent </ a>" } } page. cleanup () } } |
Parce que la requête est un test fonctionnel de la recherche Google, j'ai la même orthographe ainsi que Groovy cas de test. Une des merveilleuses caractéristiques de la syntaxe Groovy pour getter et setters qu'ils reçoivent chacun l'ensemble et peut être omis, de sorte qu'il semble que ce serait d'accéder directement aux attributs. Setters pouvez même attribuer une valeur (voir ligne 22).
Une deuxième caractéristique est grande l'utilisation de chaînes de caractères (). Enfin, on peut à nouveau (comme dans PHP ainsi) d'utiliser des variables au sein de la chaîne sans avoir à concaténer (qu'est-ce qu'un groovy mais dans le fond).
Et troisièmement, les fermetures (si elles ont été parfois perçu - ligne 25) est un langage merveilleux signifie que le "langage hôte" Java toujours portés disparus.
Conclusion:
Un client HTTP peut être très facilement avec Groovy et mis en œuvre sur de nombreuses façons. La syntaxe courte et concise pour écrire des tests fonctionnels pour les applications web qui me rend encore amusant. Ajouter à cela la possibilité également Webapps qui utilisent JavaScript afin de tester, et une bonne intégration avec l'IDE (comme Eclipse, une idée ou NetBeans).
C'est juste groovy ![]()



