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: