Playwright est une librairie open-source développée par Microsoft qui permet d’automatiser les tests de navigateurs web. En plus des tests end-to-end classiques, elle offre des fonctionnalités avancées pour détecter et analyser les erreurs JavaScript qui surviennent pendant l’exécution des tests. Dans le cadre d’un audit que j’ai eu à réaliser, cette fonctionnalité est vraiment utile pour identifier les bugs côté client avant qu’ils n’atteignent la production.
Contexte
J’ai trois pages HTML :
page0.htmlqui est une page HTML sans erreurspage1.htmlqui est une page HTML qui génère une erreur JSpage2.htmlqui est une page HTML qui génère un warning JS
| |
| |
| |
Mise en place
- On va commencer par mettre en place l’environnement de test avec la commande
npm init playwright@latest - La commande va nous poser quelques questions sur le déploiement :

- La commande va générer tous les fichiers et installer les dépendances :

- La commande donne ensuite quelques commandes pour utiliser playwright :

Théorie
Playwright permet de se brancher sur différents évènements de la page. L’un d’eux console permet de récupérer des objets de type ConsoleMessage. Chaque message de la console déclenchera un évènement.
On peut y récupérer :
- le type
- le message
- l’origine du message (fichier, line et colonne)
- la page d’origine
Ainsi, le code sera basiquement cela :
| |
Utilisation
Maintenant que l’on a la théorie, on peut l’appliquer sur nos fichiers HTML.
On va créer un scénario en trois étapes :
- Avant chaque test :
- Je me branche sur l’évènement
consoleet je récupère les erreurs et les warnings de la console
- Je me branche sur l’évènement
- Après chaque test :
- Je réinitialise les erreurs et warnings de la page
- Pour chaque test :
- Je vais sur le chaque fichier HTML
- Je vérifie qu’il y a bien le bon nombre d’erreurs et de warnings de la console attendus
Voici le code :
| |
Et pour tester cela, une commande :
| |
Et voilà le résultat :
