Re: Scripter les tests

Régis Le Brettevillois <[email protected]> Sun, 10 Apr 2011 21:05:45 +0200
Newsgroups gmane.comp.java.french.general
Message-ID <[email protected]>
C'est naturel mais faut-il encore avoir une idée de comment faire ;)

En fait dans mon petit exemple il faut voir que execute() de la classe 
TestScript (que tu peux voir comme une classe Java, d'ailleurs ç'en est 
une) est une méthode statique qui prend en paramètre une closure (un 
bloc de code java en gros, mais sous forme d'objet)
En groovy tu vas avoir l'opportunité de dire que l'ensemble des méthodes 
invoquées au sein de la closure sont invoquées sur un objet spécifique 
(appelé le delegate), en gros le code présenté est équivalent de quelque 
chose comme:

TestScript.execute(new Runnable() {
      Object execute() {
         delegate.login(x,y);
         delegate.selectionne("nom");
         ...
     }
}

D'ailleurs j'aurais presque pu l'écrire comme ça, en fait toute la 
simplicité de Groovy (ou de Scala) vient du fait que la syntaxe est 
relaxée (pas besoin de classe anonyme, pas de nécessité de ;, pas de 
nécessité de parenthèse là où il n'y en pas besoin, pas besoin de 
classes quand ce n'est pas nécessaire, etc.)

<Mode Troll>
Pour ce qui est de l'IDE il suffit de choisir le seul qui est valable 
pour coder ;)
</Mode Troll>

<Mode Troll visionnaire>
N'hésites pas à poser des questions supplémentaires, Groovy et Scala 
vont bientôt régner sur les JVMs
</Mode Troll visionnaire>

Le 09/04/2011 13:43, [email protected] a écrit :
> L'intérêt de groovy est juste une integration de java naturelle...je 
> n'y vois pas de souci particulier ...
>
> ---- Envoyé avec BlackBerry® d'Orange ----
>
> ------------------------------------------------------------------------
> *From: * Jean-Baptiste BRIAUD -- Novlog <[email protected]>
> *Date: *Sat, 9 Apr 2011 13:28:21 +0200
> *To: *java Java<[email protected]>
> *Subject: *Re: Scripter les tests
>
>
> Exactement ce que j'envisage !
> Groovy semble donc un excellent candidat.
> Il y a cependant un point qui reste obscur pour moi : comment relier 
> ce qui semble être des instructions (selectionne, login, ...) avec des 
> "bonnes vielles" méthodes Java ?
>
> On 9 avr. 2011, at 07:45, Régis Le Brettevillois wrote:
>
>> Oui avec le support DSL des langages de script comme Groovy ou Scala 
>> c'est tout à fait possible. Mais même avec le langage lui même de 
>> doit pouvoir faire quelque chose de beaucoup plus simple.
>> Groovy a l'avantage d'être assez proche de Java dans la syntaxe ce 
>> qui permet d'avoir rapidement quelque chose, Scala apporte beaucoup 
>> de changement dans la syntaxe, mais bénéficie de meilleures 
>> performances et d'abstractions encore plus poussées.
>>
>> Par exemple, en Groovy tu pourras écrire quelque chose telle que:
>>
>> TestScript.execute {
>>     login x,y
>>     selectionne "nom"
>>     ...
>> }
>>
>> En plus tu pourras bien sûr utiliser les structure de controles du 
>> langage pour introduire une logique plus complexe.
>>
>>
>> TestScript.execute {
>>     login x,y
>>     elements = selectionne "liste"
>>     elements.each { el ->
>>         ...
>>     }
>>     if (valeur("seleniumId") == ) ...
>>     ...
>> }