Testez vos sites avec Selenium

Selenium est un outil qui permet de tester l’interface utilisateur des sites web.

Selenium est disponible sous la forme d’une extension Firefox appelée « Selenium IDE ».

Cette extension permet de manière interactive :

  • d’enregistrer une suite d’actions sur des pages web ;
  • de rejouer ces actions enregistrées ;
  • de contrôler le contenu de ces pages ;
  • d’exporter le fichier de test vers les langages choisis !

Selenium existe également sous la forme d’une API disponible pour plusieurs langages (Java, C#, Ruby, Python, Javascript (Node)) appelée « Selenium WebDriver ».

Création d’un test avec Selenium IDE :

On suppose que l’extension Selenium est déjà installée dans Firefox et ouverte.

Lancer l’enregistrement en cliquant sur _gd:selenium:record.png dans l’extension Selenium, puis sur Firefox naviguer sur le site http://www.omnilog.fr, accéder à l’onglet « Contact » et remplir seulement les champs « Nom Prénom » et « Courriel ».

Après avoir cliqué sur le bouton « Valider », on a le message : « Le fichier est absent ou n’a pu être téléchargé »

En utilisant le clic droit sur ce message, on peut ajouter une commande « assertText » qui permet de compléter notre test.

Enfin, dans Selenium IDE on arrête l’enregistrement en cliquant sur _gd:selenium:record.png, et on a maintenant une suite d’actions que l'on peut rejouer.

_gd:selenium:selenium.jpg

WebDriver

Pour avoir plus de fonctionnalités avec Selenium, il est recommandé d’utiliser Web Driver qui supporte Chrome, Firefox, IE. Il nous permet d’écrire des tests unitaires et fonctionnels avec les Frameworks de tests associés à différents langages comme « Unittest » en Python, « Mocha » en Node.js, « JUnit » en Java, « NUnit » en C# …

Ci-dessous notre exemple de test du formulaire OMNILOG en Python et en C#. Ce code a été généré automatiquement à partir du scénario précédent.

_gd:selenium:C#-webdriver.jpg

Plus d’info :

 

Yanshuo H

Commentaires

rattana
Existe t'il un outil qui ferait le lien entre Selenium IDE et Selenium Webdriver ? L'idée serait de ne pas faire de code mais d'exploiter l'enregistrement issu de Selenium IDE pour générer le code nécessaire pour Selenium Webdriver.
yves
Pour ceux qui utilisent PHP, il existe plusieurs clients de Webdriver. Celui que j'ai déjà utilisé (via Behat+Mink) : https://github.com/instaclick/php-webdriver
yanshuo
@rattana: Selenium IDE permet déjà d'exporter le scénario pour plusieurs langages. Le code source ci-dessus dans l'article est généré par Selenium IDE. Cette fonctionnalité se trouve dans Selenium IDE -> File -> Export Test Case As (ou Export Test Suite As).

Ajouter un commentaire

Tags: