Projet

Général

Profil

SeleniumIDE » Historique » Version 1

Gilles Grandgérard, 25/06/2014 16:07

1 1 Gilles Grandgérard
h2. SeleniumIDE
2 1 Gilles Grandgérard
3 1 Gilles Grandgérard
*Disponible sous forme de plugin firefox.*
4 1 Gilles Grandgérard
5 1 Gilles Grandgérard
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*).
6 1 Gilles Grandgérard
7 1 Gilles Grandgérard
*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.
8 1 Gilles Grandgérard
9 1 Gilles Grandgérard
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.
10 1 Gilles Grandgérard
11 1 Gilles Grandgérard
Pour certains formats de commande disponibles dans l'IDE, l'export en python n'est pas supporté.
12 1 Gilles Grandgérard
13 1 Gilles Grandgérard
h3. Selenium Webdriver
14 1 Gilles Grandgérard
15 1 Gilles Grandgérard
Pour exploiter les cas de test exportés depuis l'IDE (ou en écrire directement en python) :
16 1 Gilles Grandgérard
17 1 Gilles Grandgérard
@sudo pip install selenium@
18 1 Gilles Grandgérard
19 1 Gilles Grandgérard
On a alors accès à l'API _webdriver_
20 1 Gilles Grandgérard
21 1 Gilles Grandgérard
@from selenium import webdriver@
22 1 Gilles Grandgérard
23 1 Gilles Grandgérard
Par défaut, l'export des cas depuis l'IDE construit une classe héritant de @unittest.TestCase@ pour chaque cas de test.
24 1 Gilles Grandgérard
25 1 Gilles Grandgérard
h3. Automatisation "complète"
26 1 Gilles Grandgérard
27 1 Gilles Grandgérard
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.
28 1 Gilles Grandgérard
29 1 Gilles Grandgérard
Obstacles :
30 1 Gilles Grandgérard
31 1 Gilles Grandgérard
* APIs un peu différentes entre l'IDE et le module _webdriver_ en python ;
32 1 Gilles Grandgérard
* dans une moindre mesure : reformatage nécessaire du code exporté (regroupement des exports dans un seule classe par exemple).
33 1 Gilles Grandgérard
34 1 Gilles Grandgérard
*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...