Cet espace est communautaire et est basé sur les contributions de chacun. N'hésitez pas a créer de nouveaux documents en suivant les bonnes pratiques.
Tellurium
Contents |
Qu'est ce que Tellurium ?
Tellurium est un outils de test automatisé, open source, permettant de tester des applications web qui, de par leur particularité peuvent poser quelques problèmes aux autres outils de test existant.
Tellurium utilise une autre approche plus singulière, en effet il dispose de deux composantes séparées :
- La description des écrans rencontrés
- Le code de test
Cette fonctionnalité de description des écrans permet une production de test plus aisée. Il n'est pas nécessaire de tout redéfinir à chaque nouveau test fonctionnel. De plus, dans la description des écrans il est possible de définir des méthodes pouvant être appelées lors des tests. La réutilisation est ainsi optimale. Tellurium utilise java et groovy et est une surcouche de Selenium.
Procédure d'installation
Notez que pour ces installation maven est nécessaire et doit être installé sur la machine hôte.
Projet CVS
La façon la plus simple de créer un projet Tellurium est d'utiliser le projet CVS de néréide.
Ligne de Commande
Pour cela, dans une ligne de commande, dans le dossier désiré :
cvs -d ":pserver:anonymous@labs.libre-entreprise.org:/cvsroot/neogia" checkout neogia -tools/tellurium-maven-junit
Ainsi vous disposerez d'un projet de test fonctionnel
Intra Eclipse
Si vous voulez utiliser l'IDE Eclipse il vous faudra tout d'abord installer divers plugins en allant dans help-->install new software :
- maven : http://m2eclipse.sonatype.org/update/
- groovy :
http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.5/ pour eclipse 3.5
http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.4/ pour eclipse 3.4
Pour importer votre projet dans eclipse, dans File-->Import... et choisir Projects from CVS et en créant un nouveau repository renseigner :
- Host : labs.libre-entreprise.org
- Repository Path : /cvsroot/neogia
- User : Anonymous
Puis next, spécifier le module neogia-tools/tellurium-maven-junit
Puis next et finish.
Ainsi dans votre workspace apparaîtra le projet fonctionnel.
A partir de rien
On va pour cela utiliser maven qui va grandement nous faciliter la tâche.
Ligne de commande
Le plus simple :
mvn archetype:create -DgroupId=VOTRE_ID_GROUPE -DartifactId=NOM_DU_PROJET \
-DarchetypeArtifactId=tellurium-junit-archetype -DarchetypeGroupId=tellurium \
-DarchetypeVersion=0.7.0-SNAPSHOT \
-DarchetypeRepository=http://kungfuters.org/nexus/content/repositories/snapshots
Un dossier sera créé comportant le projet basique de test, tentant de se connecter directement sur google (en anglais). Pour le tester, aller dans le dossier et faire :
mvn test
Firefox devrait s'ouvrir sur la fenêtre google, et le test s'exécute (si vous êtes dans un pays anglophone, le test étant créé pour fonctionner avec la page google en anglais...)
Si vous rencontrez un problème ou si vous voulez créer le projet dans Eclipse lire ce qui suit.
Si la construction du projet échoue, je vous propose la solution suivante, qui permet d'installer l'archetype dans votre système.
Tout d'abord le télécharger sur le site et l'enregistrer sur votre bureau.
Ensuite, pour l'ajouter à votre profil maven :
mvn install:install-file -DgroupId= -DartifactId=tellurium-junit-archetype \ -Dversion=0.7.0-SNAPSHOT -Dpackaging=jar -Dfile=CHEMIN_VERS_ARCHETYPE
Ainsi l'archetype est installé sur votre ordinateur, il n'est plus nécessaire d'avoir internet pour créer un projet. La commande suivant suffit :
mvn archetype:create -DgroupId=VOTRE_ID_GROUPE -DartifactId=NOM_DU_PROJET \
-DarchetypeArtifactId=tellurium-junit-archetype -DarchetypeGroupId=tellurium \
-DarchetypeVersion=0.7.0-SNAPSHOT
Intra-Eclipse
Pour cela il faut avoir installé l'archetype dans votre système (cf ci-dessus)
Aller dans File-->New-->Project..., choisir Maven Project :
- Next
Une liste d'achetype apparait; le notre ne devrait pas encore s'y trouver, pour cela il faut ré-indexer la table des archetypes. Pour cela cliquer sur Configure...
Vous arrivez dans les préferences de Maven, dans l'arborescence choisir installation et cliquer sur Reindex Local Repository. Valider
Après ceci, tout en bas de la liste devrait apparaître notre archetype. Selectionner le et Next.
Entrer un nom au projet et terminer la création.
Vous voila en présence d'un nouveau test fonctionnel inclu dans Eclipse. Reste à faire quelques parametrage :
- Ajout de la propriété groovy du projet
- Mofification du fichier .classpath : remplacer toutes les entrées du type src par :
<classpathentry kind="src" path="src/test/groovy"/>
Ainsi eclipse pourra compiler et retrouver les classes nécessaires au lancement de test JUnit.
Tests automatisés sur le serveur
Lors d'un test effectué à l'aide de la commande "maven test" se termine, un fichier de résultat est généré dans le répertoire de test :
NOM_DU_PROJET/target/surefire-reports/test.Nom_du_test.txt
Ce ficher de résultat contient la trace de l'erreur rencontré si le test est en echec :
testProjectManager(test.ProjectManagerTestCase) Time elapsed: 53.86 sec <<< ERROR!
com.thoughtworks.selenium.SeleniumException: ERROR: Element /
/descendant-or-self::div[@id="content-main-section"]/descendant-
or-self::a[normalize-space(text())=normalize-space("Dependencies")] not found
... (suite de la stack trace)
Ici l'erreur étant un élément du test n'ayant pas été trouvé. Ce type d'erreur est souvent du à un problème de description d'écran.
Cependant si le test doit tester une valeur dans la partie java du tellurium, il faut générer des logs utile à la détection de la réussite ou de l'échec de ces tests.
Les types de log restent à être déterminés !


