Découvrons ensemble le framework à l’écriture le plus simple pour bâtir des tests de bout en bout. Playwright? Webdriver? Puppeteer? Protractor? TestCafe? Nightmare? Et si je vous dis que CodeceptJS c’est tout ça à la fois?
Je vous expliquerai les raisons qui me poussent à privilégier ce framework à travers un premier retour d’expérience.
2. 2 Clés pour de bons tests
● à la base de l’élaboration de CodeceptJs
● applicable même si vous n’utilisez pas CodeceptJs
3. Pourquoi je fais des tests bout en bout
● Janvier 2023 - Nouvelle entreprise
● Beaucoup de nouveaux tickets bogue par jour
● Une cinquantaine de personnes (Dev, PO, …)
● mais pas de QA
● Monolithe avec zéro test
● … en partie découpée en microservices
● … toujours sans test
● … mais les PO testent à la main !
4. Pourquoi je fais des tests bout en bout
● concret
● ne touche pas à l’architecture actuelle
● parlant à tout le monde
6. Gherkin !
● Gherkin + cypress (developer focused)
● inconvénient: difficile à maintenir côté dev
● OK avec codecept https://codecept.io/bdd/#what-is-behavior-driven-
development
15. Architecture CodeceptJs
● Garder les mêmes tests et interchanger le moteur d'exécution
● Capacité de réellement tester tous les navigateurs
● Toujours possible d’utiliser les spécificités d’un framework
I.usePuppeteerTo(...)
I.usePlaywrightTo(...)
16. Clé: découpler les tests du framework
● les non techos ont un scénario simple en tête
● celui-ci devrait transparaître facilement dans la lecture des tests
● ils ne prononcent pas “je vais dans le troisième <div> après le <h2> qui
possède la classe .action-email en utilisant le storageText de la page context”
17. Conclusion
Clé 1: les tests doivent être simple
Clé 2: découpler les tests du framework
Clé 3: fun à écrire
https://github.com/DavertMik/js-framework-decisions
https://github.com/codeceptjs
https://codecept.io