Cet article explique aux chefs de projets fonctionnels et techniques sans
aucune expérience Selenium comment
automatiser des tests fonctionnels, pas à pas, avec Selenium IDE, une
extension du navigateur Firefox.
Les bonnes pratiques et les conseils que nous vous donnons sont issus de notre
retour d'expérience après plusieurs campagnes de tests sur des plateformes de
gestion de contenu (de type Drupal 6 avec plusieurs instances synchronisées,
des workflows complexes, plus de 20 types de contenus...) au cours desquelles
nous avons paramètré environ 1200 tests exécutés à 15 reprises soit près de
18000 tests réalisés. Avec de tels chiffres on comprend vite l'intérêt de
l'automatisation ;-)

Selenium
Selenium est un ensemble d'outils open source et gratuits dont l'objectif est
d'automatiser les tests fonctionnels d'application web. Attention, ces outils
sont destinés à des tests fonctionnels : le paramétrage est essentiellement
basé sur l'interface de l'application. Pour réaliser de vrais tests unitaires,
il est préférable d'utiliser des outils plus proches du code, tels que
simpletest dans notre cas (Drupal 6).
Selenium IDE
Selenium IDE est l'outil qui permet de paramétrer les tests très facilement
via une interface WYSIWYG dans Firefox. C'est là sa grande force : un chef de
projet purement fonctionnel peut sans problème participer au paramétrage sans
jamais taper une ligne de code. Les tests ainsi créés peuvent être joués
individuellement ou regroupés dans des scénarios qui enchaînent les tests dans
un ordre précis (nous détaillons tout ça plus loin). De cette manière on peut
simuler une activité réelle sur le site ou l'application web.
Selenium RC et Selenium Grid
Pour les projets de grande envergure il est aussi possible d'exécuter ses
tests sur les principaux navigateurs (IE, FF, Safari...) via Selenium Remote
Control, un serveur Java. Il est même possible de coordonner plusieurs serveur
Selenium RC via Selenium Grid. Des services de tests de charge basés sur
Selenium Grid sont d'ailleurs en train d'émerger.
Enfin, et c'est important, Selenium s'intègre aux principaux frameworks de test
tels que JUnit. L'outil permet en effet d'exporter les tests en PHP, Java, C#,
Perl, Python, Ruby...
Dans les prochaines semaines :
- Comment préparer un plan de test fonctionnel avec Selenium
- Comment paramétrer les tests et scénarios fonctionnels avec Selenium (via l'IDE)
- Comment paramétrer les tests et scénarios fonctionnels avec Selenium (dans le code)
- Comment passer les tests et scénarios fonctionnels avec Sélenium
Pour en savoir plus, le site officiel :



