Playwright mène le marché de l'automatisation des tests avec 47,9 millions de téléchargements npm hebdomadaires, contre 7,3 millions pour Cypress. En 2025 seulement, il a gagné 14 points de pourcentage d'utilisation relative.

Les chiffres

La page State of JS 2025 Awards confirme que Playwright a ex-aequo la plus forte progression parmi les outils de test. Il a gagné +14 points de pourcentage d'utilisation relative en un an. Sur npmtrends.com, Playwright affiche environ 47,9 millions de téléchargements hebdomadaires contre 7,3 millions pour Cypress. Sur GitHub : environ 86 000 étoiles pour Playwright contre 49 000 pour Cypress.

Ce ne sont pas des métriques de vanité. Les téléchargements npm reflètent l'adoption réelle. Quand un framework est choisi pour les nouveaux projets à six fois le rythme de son concurrent le plus proche, l'écosystème suit. Plus de tutoriels, plus de réponses sur Stack Overflow, plus d'offres d'emploi qui le listent comme exigence.

Si vous démarrez from scratch en 2026, Playwright est là où se trouve l'industrie.

Ce que Selenium a raté

Selenium n'est pas mauvais. Il fonctionne. Mais il a été conçu dans une autre époque, quand JavaScript était plus simple, quand les SPA n'existaient pas, quand "attendre un élément" voulait dire ajouter un Thread.sleep(3000) et espérer que ça passe.

Les problèmes :

La gestion des drivers. Selenium exige un driver navigateur (ChromeDriver, GeckoDriver) qui doit correspondre exactement à la version du navigateur installée sur la machine. Mettre à jour Chrome casse les tests jusqu'à ce que vous mettiez à jour ChromeDriver. C'est une charge de maintenance entièrement évitable que Playwright a éliminée. Pas d'attente intégrée. Selenium trouve un élément et essaie immédiatement d'interagir avec lui. Si l'élément n'est pas prêt, le test échoue. Chaque équipe finit par construire ses propres utilitaires d'attente : ExpectedConditions en Java, WebDriverWait avec du polling personnalisé. Playwright gère ça automatiquement. Conception Java-first. Selenium a été construit pour Java. Les bindings JavaScript fonctionnent mais semblent rajoutés après coup. Playwright a été conçu pour Node.js dès le départ. Pas de test runner intégré. Selenium est une librairie d'automatisation navigateur, pas un framework de test. Il faut ajouter un test runner séparément (JUnit, TestNG, pytest, Jest), les connecter, configurer les reporters. Playwright livre tout dans la boîte.

Ce que Playwright fait différemment

Attente automatique. Chaque action Playwright attend que l'élément soit actionnable avant de continuer. Un clic attend que l'élément soit visible, activé et stable. Un remplissage attend que le champ soit éditable. Cette approche élimine toute la catégorie d'erreurs "element not interactable" et "stale element reference" qui affectent les tests Selenium.

// Playwright — fonctionne directement, pas de code d'attente nécessaire
await page.getByRole('button', { name: 'Submit' }).click();

// Équivalent Selenium — ce qu'il fallait réellement écrire
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement button = wait.until(ExpectedConditions.elementToBeClickable(
    By.xpath("//button[text()='Submit']")
));
button.click();

Tout intégré. Playwright inclut un test runner, une librairie d'assertions, un reporter HTML, un trace viewer, l'enregistrement vidéo, la comparaison de captures d'écran, l'interception réseau et un générateur de code. Installez un seul paquet et vous disposez d'une plateforme de test complète. Plusieurs navigateurs, une seule API. Playwright exécute les tests sur Chromium, Firefox et WebKit (le moteur de Safari) avec un code identique. Pas de drivers séparés, pas de configurations spécifiques par navigateur. Un seul playwright.config.ts lance votre suite sur les trois. Locators modernes. L'API de locators de Playwright utilise des sélecteurs basés sur les rôles, qui correspondent à la façon dont les utilisateurs et les lecteurs d'écran interagissent avec la page :

page.getByRole('button', { name: 'Sign in' })
page.getByLabel('Email address')
page.getByPlaceholder('Search...')
page.getByTestId('submit-btn')

Ces locators sont robustes. Changer une classe CSS ou restructurer le HTML ne les casse pas. Changer le nom accessible du bouton les casse, ce qui est exactement le comportement voulu, car c'est un vrai changement qui affecte les utilisateurs.

Pourquoi pas Cypress ?

Cypress était l'alternative moderne à Selenium avant que Playwright existe. C'est un bon outil. Mais il a des contraintes architecturales que Playwright n'a pas :

Chromium uniquement (avec un support Firefox limité). Playwright prend en charge Chromium, Firefox et WebKit. La couverture cross-browser nécessite Playwright. Limitation same-origin. Cypress a du mal avec les tests impliquant plusieurs domaines, comme les flux d'authentification qui redirigent vers un fournisseur OAuth tiers. Playwright gère cela nativement. La parallélisation nécessite un abonnement payant. Exécuter des tests sur plusieurs machines en CI requiert Cypress Cloud, qui a un coût. Le sharding de Playwright est gratuit et intégré. Pas d'émulation mobile. Playwright peut émuler n'importe quel viewport, user agent, géolocalisation et même les événements tactiles. Cypress ne peut pas.

L'écart s'est réduit au fil des années. Cypress a ajouté les tests de composants, amélioré le support Firefox et étendu son API. Mais pour une stack d'automatisation complète sans barrières payantes, Playwright est une base plus solide.

Le soutien de Microsoft compte

Playwright est construit et maintenu par Microsoft. Ce n'est pas juste un signal de stabilité. Cela signifie que l'outil est activement développé par des ingénieurs dont le travail est de supporter les tests web à grande échelle.

L'équipe Playwright publie des versions régulièrement, répond aux issues GitHub et reste en avance sur l'écosystème en matière de fonctionnalités. Trace viewer, mode UI, tests de composants, tests d'API, et plus récemment Playwright MCP pour l'automatisation navigateur pilotée par l'IA.

Parier sur un framework de test, c'est parier sur l'équipe derrière. L'équipe Playwright a mérité ce pari.

Ce que cela signifie pour votre parcours d'apprentissage

Si vous apprenez l'automatisation de tests en 2026 :

Apprenez Playwright en premier. Les concepts que vous apprendrez (locators, assertions, fixtures, Page Object Model, intégration CI) se transfèrent directement si vous devez un jour utiliser un autre framework. Apprenez TypeScript, pas du JavaScript basique. Le support TypeScript de Playwright est de première classe et TypeScript est le standard professionnel pour les nouveaux projets. Ne passez pas de temps sur Selenium sauf si un poste l'exige. Si vous rejoignez une entreprise qui utilise Selenium, vous le maîtriserez en une semaine. Apprendre Selenium en premier parce qu'il y a "plus de postes" est le mauvais calcul. Ces postes legacy sont aussi les moins susceptibles d'adopter des pratiques modernes. Cypress vaut la peine d'être connu. Vous l'avez rencontrerez. Comprendre les différences architecturales vous aide à expliquer pourquoi un projet a choisi l'un plutôt que l'autre. C'est exactement le type de conversation qui se passe en entretien technique.

FAQ

Playwright va-t-il remplacer complètement Cypress ?

Peu probable à court terme. Cypress a une base installée importante et les entreprises ne migrent pas leurs frameworks de test sans raison solide. Mais pour les nouveaux projets, les chiffres d'adoption montrent où se font les choix.

Selenium est-il mort ?

Non. Des millions de lignes de tests Selenium existent dans les codebases d'entreprise et n'iront nulle part. Selenium 4 est activement maintenu et nettement meilleur que Selenium 3. Mais "activement maintenu" et "le bon choix pour les nouveaux projets" sont deux choses différentes.

Peut-on utiliser Playwright avec Python ou Java ?

Oui. Playwright a des bindings officiels pour Python, Java et .NET en plus de JavaScript/TypeScript. La version JS/TS est la plus complète et la plus utilisée, mais l'API de base est cohérente entre les langages.

Combien de temps faut-il pour apprendre Playwright ?

Pour écrire de vrais tests : quelques jours. Pour construire une suite de tests maintenable : quelques semaines de pratique. La barrière pour commencer est vraiment basse.

→ See also: Débuter avec Playwright: Vos Premiers Tests en 30 Minutes | Playwright vs Cypress vs Selenium en 2026: Comparaison Honnête | Installer Playwright: Guide d'Installation Étape par Étape (2026) | Migrer de Selenium (ou Cypress) vers Playwright: Un Plan Pratique