Jusqu'où peut-on aller lorque l'on fait des tests
fonctionnels avec un outil comme Selenium ? La
réponse à cette question n'est pas
évidente. Si on souhaite tester un service qui
fait appel à un algorithme très complexe,
il est évident que l'intêret de Selenium est
réduit. Si par contre on souhaite tester
l'affichage d'un catalogue comme le Petstore, on peut
faire en sorte que ses éléments soient
insérés en base avec un outil comme DbUnit
via un fichier xml. Ainsi, lorqu'on teste l'affichage
d'un élément donné du catalogue, on
controle l'exactitude des données affichées
en se basant à priori sur les données
insérées en base grâce au fichier
xml. Tout dépend donc du service à tester.
Une utilisation minimale serait un simple test de la
succession correcte des pages html, en controlant le
titre attendu des pages affichées par exemple.
Mais l'utilisation de Selenium peut également
être très poussée, si la
démarche adoptée est astucieuse et dans la
mesure où c'est pertinent (voir exemple ci-dessus
combinant DbUnit et les tests fonctionnels). De plus, les
tests poussés valident le fonctionnement des
couches sous-jacentes de l'application.
La maturité de Selenium a également
été évoquée de façon
informelle. Il semble en effet que l'outil était
très instable à ses débuts. Mais
aujourd'hui, l'outil est robuste même si de l'aveu
même de ses concepteurs, la prise en compte du
protocole https et des navigations multidomaines est
expérimentale.
Enfin, un lien pour ceux qui souhaitent voir une
démonstration de Selenium avec des pages utilisant
Ajax :
http://awesnob.com/zen/selenium
Photos de la soirée:



Toutes les photos