Devoxx 2025 - Retour sur la conf' Playwright : tester vos applis devient un jeu d'enfant
Article écrit par Yann Mougenel !
La semaine dernière, j’ai eu l’immense plaisir de participer, une fois de plus, à Devoxx France 2025, qui se tenait à Paris. Comme toujours, cet événement a été une véritable bouffée d’air frais, riche en sujets passionnants et en innovations technologiques. Parmi les nombreuses présentations et démonstrations, une conférence s’est particulièrement démarquée à mes yeux : celle de Benjamin Cavy de la MAIF. Il y a présenté un outil qui a immédiatement capté mon attention : Playwright.
Playwright est un outil de tests end-to-end (E2E) en pleine ascension, et il mérite clairement qu’on s’y intéresse. En attendant que la conférence soit rediffusée sur Youtube, je te propose de voir pourquoi ça vaut le coup d’œil en cinq points, ci-dessous !
Tu es adepte des bonnes pratiques Clean Code mais tes projets manquent encore de tests End-to-End (E2E) ? Pas de panique, cette conférence est là pour ça !
Mais d’abord un petit retour sur Playwright :
Développé par Microsoft en 2020, il est le nouveau challenger parmi l’outillage E2E qui promet de simplifier et d’optimiser nos processus de développement ; en se distinguant notamment par un support de tests multi-langages (JS, TS, Python, etc.) et multi-navigateurs (Chromium, Firefox, WebKit).
1. Des tests (vraiment) résilients au changement
Dès les premières minutes, un truc m’a sauté aux yeux : la robustesse des sélecteurs !
Fini les tests qui pètent à chaque changement du CSS ou de balise. Playwright propose une approche plus sémantique, comme ceci :
/* Doc: https://playwright.dev/docs/locators#locate-by-role */
await page.getByRole('button', { name: 'Sign in' }).click();
Cette abstraction permet de faire des refactos tard le soir sans avoir peur de casser tous les tests.
2. Des tests générés automatiquement via Recorder
Pas envie d’écrire tout ton test à la main ?
Pas de souci : Playwright Recorder fait le job pour toi.
Tu navigues dans ton appli, tu cliques, tu remplis, tu changes d’onglets… et les tests correspondant à tes actions se génèrent automatiquement.
3. Bouchonner nos APIs
Tu as des APIs qui répondent en local, mais non accessibles dans la pipeline de CI ?
Pas de souci, Playwright te permet d’enregistrer tous les appels dans une archive HAR, puis de les rejouer dans ta CI pour simuler les réponses correspondantes.
Hyper pratique pour des tests autonomes, sans dépendance réseau.
4. Les tests d’accessibilité en quelques lignes
L’accessibilité ne doit pas être une étape en fin de projet ou lors d’un audit, mais un réflexe au quotidien.
Avec AxeBuilder, Playwright te permet de lancer un audit complet d’accessibilité en deux lignes :
const accessibilityScanResults = await new AxeBuilder({ page }).analyze();
expect(accessibilityScanResults.violations).toEqual([]);
📊 Tu obtiens un rapport clair, prêt à corriger les soucis d’accessibilité au plus tôt.
Playwright peut ainsi être intégré à une pipeline d’intégration continue (CI) afin de faire échouer automatiquement les tests si les critères d’accessibilité ne sont plus respectés 👍.
5. Les captures d’écrans : La fin des régressions visuelles
Playwright intègre une fonctionnalité de capture d’écran et de détection de changements visuels qui permet de valider qu’une modification de code n’a pas altéré involontairement le design ou le positionnement des éléments.
await expect(page).toHaveScreenshot();
Avec ce code, Playwright prend une capture d’écran de l’élément ou de la page et la compare à une image précédemment enregistrée. Si une différence visuelle est détectée (même minime), le test échoue, signalant un changement potentiel dans l’UI. Bon d’accord, d’autres frameworks font la même chose. Cependant, le bonus ? Tu peux visualiser les deux images côte à côte pour comprendre ce qui a changé.
En Bref
Cette conférence était une vraie pépite pour celles et ceux qui veulent se lancer dans les tests E2E sans prise de tête.
Il s’adapte facilement à différents navigateurs et langages, ce qui le rend idéal pour tous types de projets.
Son ergonomie est bluffante : en quelques lignes, on enregistre des scénarios, on prend des captures d’écran, ou on vérifie l’accessibilité.
Et surtout, ses tests résilients offrent une vraie tranquillité d’esprit face aux évolutions de l’interface.
👉 Bref, un allié redoutable pour tester ton app de bout en bout !