Testcafé en bref
TestCafé est un outil d’automatisation des tests orientés UI.
C’est un outil s’appuyant sur node.js et la rédaction des tests se fait en langage Javascript ou Typescript.
Il s’interface avec toutes les plateformes (Windows, Mac OS, Linux, mobile ou encore Cloud) et tous les navigateurs (Internet Explorer, Edge, Firefox, Safari, Chrome, …).
Son originalité réside dans sa capacité à ne pas manipuler le navigateur (comme le fait Sélénium avec WebDriver) mais à se positionner en tant que proxy entre le navigateur et le serveur sous test. Cela apporte un bon niveau d’indépendance des tests vis-à-vis du navigateur.
D’autres fonctionnalités utiles sont proposées par TestCafé:
– le support du design pattern Page Object Model (POM)
– la gestion des rôles: permettant de faire plusieurs sessions au sein d’un même navigateur sans devoir faire un login/logout pour passer d’une session à une autre
– l’exécution concurrentielle pour gagner en temps d’exécution
– l’intégration facile à une CI avec la présence d’une image Docker prête à l’emploi
points forts et axes d’amélioration
Beaucoup de points forts sur cet outil:
– Haute stabilité sur la quasi totalité des navigateurs du marché
– Langage maîtrisé par des développeurs front
– Simplicité et facilité pour démarrer les tests mais aussi inclure ces derniers dans une CI
– Lisibilité et maintenabilité du code avec l’utilisation du POM
– Gestion des échecs: captures d’écran, mode debug dans le navigateur, prise de vidéo (avec une dépendance tiers)
– Documentation claire et riche
– Gratuit et opensource
Coté axes d’amélioration, j’en ai pas trouvés énormément:
– Ecriture des tests en Gherkin n’est pas nativement supportée mais peut être gérée avec l’extension https://www.npmjs.com/package/gherkin-testcafe
– Beaucoup de customisation possible dans la configuration : faut prendre le temps de tout lire pour bien tunner son usage
– Quelques instabilités avec les modes headless de Chrome et Firefox
– Reporting des résultats: format XML ou Json et il faut un outil tier pour avoir une meilleure lisibilité de ce dernier.
Conclusion
TestCafé est un sérieux concurrent à Sélénium de part sa simplicité, stabilité et facilité de prise en main. Il me fait beaucoup penser à Cypress avec la capacité de gérer quasiment tous les navigateurs. Dans une équipe pluridisciplinaire avec des compétences en javacript, il deviendra un outil très intéressant pour que les testeurs et développeurs contribuent aux tests automatisés orientés UI.
Pour en savoir plus, je vous invite à aller voir le site officiel: https://devexpress.github.io/testcafe/
Publié par