Projet

Général

Profil

Wiki » Historique » Version 2

Julien Coupey, 03/04/2014 11:41

1 1 Julien Coupey
h1. Wiki
2 1 Julien Coupey
3 2 Julien Coupey
h2. Mémo sur Selenium
4 1 Julien Coupey
5 1 Julien Coupey
h3. Selenium IDE
6 1 Julien Coupey
7 1 Julien Coupey
*Disponible sous forme de plugin firefox.*
8 1 Julien Coupey
9 2 Julien Coupey
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*).
10 1 Julien Coupey
11 2 Julien Coupey
*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.
12 1 Julien Coupey
13 2 Julien Coupey
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.
14 2 Julien Coupey
15 2 Julien Coupey
Pour certains formats de commande disponibles dans l'IDE, l'export en python n'est pas supporté.
16 2 Julien Coupey
17 1 Julien Coupey
h3. Selenium Webdriver
18 1 Julien Coupey
19 2 Julien Coupey
Pour exploiter les cas de test exportés depuis l'IDE (ou en écrire directement en python) :
20 1 Julien Coupey
21 1 Julien Coupey
@pip install selenium@
22 2 Julien Coupey
23 2 Julien Coupey
On a alors accès à l'API _webdriver_
24 2 Julien Coupey
25 2 Julien Coupey
@from selenium import webdriver@
26 2 Julien Coupey
27 2 Julien Coupey
Par défaut, l'export des cas depuis l'IDE construit une classe héritant de @unittest.TestCase@ pour chaque cas de test.
28 2 Julien Coupey
29 2 Julien Coupey
h3. Automatisation "complète"
30 2 Julien Coupey
31 2 Julien Coupey
L'idéal serait d'avoir une automatisation complète des suites de test construites avec Selenium IDE (conversion en python et lancement via un script) :
32 2 Julien Coupey
33 2 Julien Coupey
Obstacles :
34 2 Julien Coupey
35 2 Julien Coupey
* APIs un peu différentes entre l'IDE et le module *webdriver* en python ;
36 2 Julien Coupey
* dans une moindre mesure : reformatage nécessaire du code exporté.
37 2 Julien Coupey
38 2 Julien Coupey
Solution envisageable : écrire directement les tests en python sans passer par Selenium IDE.