Scripter les tests

Jean-Baptiste BRIAUD -- Novlog <[email protected]> Thu, 7 Apr 2011 10:33:14 +0200
Newsgroups gmane.comp.java.french.general
Message-ID <[email protected]>
Bonjour à tous,

Voilà un moment que je voudrais entamer le chantier de scripter nos tests.
Nous utilisons Selenium pour piloter par programme un navigateur.
Des sous-classes de JUnit enchainent les appels Selenium pour construire un usage plausible d'une application.

Conceptuellement, j'aurais envie d'écrire ce genre de chose :
1. login(l, p)
2. trouver le champ "nom" (en fait le SeleniumID et non pas le label)
3. entrer "Dupond"
4. chercher le bouton "OK" (en fait le SeleniumID et non pas le label)
5. Clicker sur le boutoun
...

Sauf que les appels à Selenium dans notre sous-classe JUnit sont beaucoup, beaucoup trop complexe.
En plus, il faut tout compiler les tests pour les lancer.

Bref, j'aimerais scripter tout cela.
Moyennant une lib qui ne nécessite pas d'être recompilée et contenant par exemple, une classe pour un mot clé,
il est simple de proposer un interpréteur de fichier texte où le premier mot de chaque ligne correspond à une classe se mot clé.
Ensuite, la pattern Commande et "roule ma poule".
... et en plus, çà existe déjà, et en plus je l'ai déjà utilisé dans le passé :
http://exactor.sourceforge.net/
mais çà n'est plus mis à jour depuis 2008 et depuis le temps il a coulé de l'eau sous les scripts.

Bref, est-ce qu'un de ces langages de scripts plus récent ne serait pas plus approprié ?
Je sur que oui pour au moins une raison : toute la logique de boucle, test, est déjà là et bien faite.
Sauf qu'il ne faudrait pas que le script devienne aussi complexe que l'actuelle sous-classe JUnit, sinon, çà ne sert plus à rien.

ah oui, je ne l'ai pas dit, mais je parlais de ces langages de scripts qui tourne dans une JVM car la portabilité, c'est important.
Comment envisager "les appels" (est-ce des appels ?) aux mot clé du test : trouver le champ, cliquer, les divers assert, ...


Des reco, des idées ?