Project

General

Profile

SeleniumIDE

Disponible sous forme de plugin firefox.

Interface graphique pour créer des suites de tests d'interface web. La fonction d'enregistrement permet de décomposer le parcours de l'utilisateur en pas d'un cas de test. Le menu contextuel permet d'accéder à des propositions d'assertions à insérer dans les cas de tests (commandes assert* verify*).

Remarque : les pas définis par un parcours utilisateur sont souvent à adapter pour un parcours automatisé plus rapide afin de forcer à attendre que des éléments de page soient présents.

Les cas de test peuvent être lancés directement depuis l'IDE ou exportés en python. Par défaut on doit exporter les cas individuellement mais l'extension Test Suite Batch Converter (Selenium IDE) permet d'ajouter des fonctionnalités d'export par lot.

Pour certains formats de commande disponibles dans l'IDE, l'export en python n'est pas supporté.

Selenium Webdriver

Pour exploiter les cas de test exportés depuis l'IDE (ou en écrire directement en python) :

sudo pip install selenium

On a alors accès à l'API webdriver

from selenium import webdriver

Par défaut, l'export des cas depuis l'IDE construit une classe héritant de unittest.TestCase pour chaque cas de test.

Automatisation "complète"

La suite construite avec Selenium IDE fournit déjà une automatisation, qu'il faut cependant lancer à la main dans l'interface graphique. L'idéal serait d'avoir une automatisation complète : conversion en python et lancement via un script.

Obstacles :

  • APIs un peu différentes entre l'IDE et le module webdriver en python ;
  • dans une moindre mesure : reformatage nécessaire du code exporté (regroupement des exports dans un seule classe par exemple).

Conclusion temporaire : il faut prévoir d'adapter le code python exporté ou alors écrire directement les tests en python sans passer par Selenium IDE...