Selenium IDE

Selenium IDE est un environnement de développement intégré pour les tests Selenium. On le trouve sous forme d’extension pour Firefox. Il permet d’enregistrer, d’éditer et déboguer des tests.

Mais pas seulement, en sa qualité d’IDE il vous permettra aussi de modifier vos scripts à la main.

Caractéristiques :

  • Facilité d’enregistrement et de lecture
  • Reconnaissance de sélection des identifiants, les noms, ou, au besoin XPath
  • Pas à pas à travers les tests
  • Debug et fixer l’arrêt
  • Sauvegarde des tests au format HTML, Java, Ruby scripts, ou tout autre format

1. Installez le !

L’installation est très simple, il suffit d’aller sur la page de l’extension Firefox : https://addons.mozilla.org/fr/firefox/addon/2079 et de l’ajouter.
L’extension Selenium IDE ne marche que sous FF, cependant il est possible d’utiliser les tests générés avec d’autre navigateurs en utilisant Selenium-RC.

2. Créez votre test

  1. Ouvrez la page à tester, par exemple http://wiki.openqa.org/
  2. Ouvrez l’IDE depuis Firefox : Outils -> Selenium IDE.
  3. S’il n’est pas déjà activé, cliquez sur le bouton rond rouge situé en haut à droite pour démarrer l’enregistrement.
  4. Suivez les différents liens, puis tapez une chaine à rechercher.
  5. Lancez la recherche.

La liste des commandes représentant les actions exécutées avec le navigateur apparait au milieu de la boite de dialogue, sur fond blanc. Elle doit ressembler à ceci :

3. Exécutez

Cliquez sur le bouton rond rouge pour ARRÊTER l’enregistrement.
Veillez à ne pas changer de page.
Cliquez sur le bouton « Play current test case » (flèche verte avec une ligne verte surlignée à sa droite)

Si cela ne marche pas, pas de panique. Peut-être que l’IDE Selenium a besoin de davantage d’informations. C’est le cas si l’erreur comme celle-ci apparaît : « error Element spacelink-SIDE not found » .
Cela signifie que Selenium n’a pas trouvé le lien sur lequel il doit cliquer. C’est classique lorsque Sélénium essaye d’accéder à un élément d’une page alors que celle-ci n’est pas encore entièrement chargée.
Pour corriger ce problème il faut remplacer la commande « click » par « clickAndWait », de cette manière Selenium attendra le chargement complet de la page après avoir cliqué sur un lien ou un bouton.

Pour éditer une commande :

  1. Cliquez sur la ligne correspondant à la commande.
  2. En bas de la liste des commandes, il y a un panneau avec 3 champs : Command, Target et Value. Ils permettent d’éditer les paramètres de la commande actuellement sélectionnée.
  3. Dans ce panneau, sélectionne « clickAndWait » à la place de « click » dans la boite déroulante intitulée « command ». Cette boîte déroulante liste l’ensemble des commandes que reconnaît Selenium.

Remplacez autant de fois que nécessaire les commandes « click » par des « clickAndWait »

4. Contrôlez

Nous savons maintenant enregistrer et rejouer des actions, il reste à voir un point important : comment contrôler le résultat.
Voila comment faire :

  1. Cliquez sur la dernière ligne de votre script.
  2. Dans la fenêtre de l’explorateur, surlignez le texte qui est significatif de la réussite du test, par exemple s’il s’agit de vous connecter, il s’agira surement d’un texte tel que « connexion réussie ».
  3. Faites un clic-droit sur le texte surligné et choisissez l’option « verifyTextPresent » dans le menu contextuel.

Vérifier le contenu des checkboxes et select boxes

Pour accéder à ce type de champ il faut en spécifier le chemin DOM en utilisant la syntaxe X-Path. Voici des exemples de chemins X-Path :

  • bouton input avec le texte “Search” : //input[@value='Search']
  • le contenu du 7e div dans la 6e colonne de la 2de ligne du tableau « proTable » : //table[@id='proTable']/tbody/tr[2]/td[6]/div[7]
  • n’importe quel élément portant l’ID « joining1 » : //*[@id="joining1"]

Pour plus d’infos sur la syntaxe X-Path : http://www.w3schools.com/XPath/default.asp

Une fois le chemin X-Path défini, vous pouvez l’utiliser avec par exemple l’instruction Selenium « assertTextPresent » pour vérifier la présence d’un texte dans l’élément DOM dont le chemin est spécifié.
La référence pour les instructions Selenium est disponible ici : http://release.openqa.org/selenium-core/0.8.0/reference.html

Verify vs. Assert

Vous aurez remarqué que certaines commandes commencent par « assert » et d’autres par « verify ». « assert » stoppe l’exécution du script. Utile pour vérifier que l’on est sur la bonne page, ou qu’une étape critique à bien été franchie. « verify » va tracer toutes les erreurs si il y en a, sinon le script va continuer son exécution. Utile pour vérifier les valeurs des inputs lorsqu’ils sont nombreux sur une page.

Plus d’infos

One Response to “Selenium IDE”

  1. Merci pour ce très bon aperçu des possibilités.

    Selenium IDE est une vrai perle pour les tests. Nous avons enfin un outil pour rejouer dans des conditions strictement identiques des tests fonctionnels et de recette.

    Si en plus, on utilise Selenium Core et des composants de tests unitaires (comme PHPUnit), on peut générer à la volée les protocoles de test que Selenium IDE pourra jouer ensuite (avec plan de test pour le client !).

    Depuis que je l’ai adopté, le temps consacré aux tests a été divisé par 2 et la qualité des livrables n’a rien à voir !

    Répondre

Leave a Reply