Automatisez vos tests d’interaction pour les principaux navigateurs web

Afin d’améliorer et d’accélérer les tests des sites et applications Web, les développeurs ont souvent recours à une classe d’outils appelés « navigateurs sans affichage » ou headless browsers, en anglais. Ces outils permettent de tester le comportement des navigateurs web de façon automatisée et ce, sans visualisation.

Parmi les plus populaires, citons PhantomJS, pour les tests sous Webkit, le moteur de rendu HTML de Safari et Chrome, et SlimerJS, pour tester Gecko, le moteur de Firefox.

Pour faciliter la création de scénarios de tests avec ces API JavaScript, nous pouvons utiliser CasperJS. En voici une rapide présentation par son créateur, le développeur français Nicolas Perriault :

Enfin (roulement de tambour!), depuis cet automne, le développement d’un nouvel outil s’intéressant cette fois à Trident, le moteur de rendu d’Internet Explorer, a démarré sur Github. Il est important de le souligner car plus de 50 % des ordinateurs de bureaux qui naviguent chaque jour sur le Web sont encore équipés d’une version d’Internet Explorer, de la version 6 (4,92 %) à la version 10 (17,5 %) inclusivement. TrifleJS est, en fait, une adaptation de PhantomJS pour l’environnement .NET sous Windows.

Qu’est-ce que cela signifie pour les développeurs web?

Nous disposons maintenant d’outils nous permettant de:

  • Créer des scripts de capture d’écran pour voir nos projets web à travers la lunette de chacun de ces trois moteurs de rendu;
  • Vérifier tous les liens d’un projet web et vérifier qu’il n’y a pas de pages générant des erreurs 30X/40X/50X (ex: 300,404,501);
  • Créer des tests d’intégration de formulaires complexes avec 10 000 étapes;
  • Créer une armée de robots pour ramasser toutes les images de chats sur Imgur. 🙂

Si le sujet vous intéresse, je vous invite à revisiter ce blogue après le nouvel an. D’ici là, j’espère trouver le temps de monter une petite démonstration qui fera l’objet d’un prochain billet.