Playwright vs Cypress vs Selenium en 2026 : lequel choisir ?
Si vous démarrez une suite de tests E2E aujourd'hui, vous hésitez probablement entre trois noms : Playwright, Cypress et Selenium. Cet article tranche, sans diplomatie, en se basant sur deux ans d'expérience à exécuter des milliers de tests par jour pour des dizaines de clients.
1. Le contexte du marché en 2026
Le paysage a beaucoup bougé depuis 2020. Selon les enquêtes State of JS et JetBrains 2025, les parts de mention chez les devs ayant écrit au moins un test E2E ces 12 derniers mois sont approximativement :
| Outil | 2020 | 2023 | 2026 | Tendance |
|---|---|---|---|---|
| Playwright | ~5% | ~30% | ~55% | ↑↑↑ Forte croissance |
| Cypress | ~35% | ~40% | ~30% | ↘ Plateau / léger déclin |
| Selenium / WebDriver | ~50% | ~30% | ~20% | ↓↓ Déclin continu |
| Puppeteer (E2E) | ~10% | ~8% | ~5% | ↘ Niche scraping |
Le mouvement de fond est clair : Playwright a pris la place de Cypress comme outil par défaut sur les nouvelles suites, et Selenium continue son déclin sauf sur des stacks legacy ou très entreprise.
2. Selenium : le vétéran qui s'accroche
Selenium existe depuis 2004. C'est le standard W3C WebDriver, supporté par tous les navigateurs majeurs. Sa force : sa stabilité, son universalité et un écosystème enterprise mature (Selenium Grid, intégrations Java/C#/Python/Ruby).
Avantages
- Compatible avec absolument tout : Java, Python, C#, Ruby, JavaScript.
- Standard W3C, support natif des navigateurs.
- Énorme base de tests existants à reprendre.
- Selenium Grid pour la parallélisation à grande échelle (clusters de centaines de nodes).
Inconvénients
- API verbeuse, pas d'auto-wait natif (les tests sont souvent flaky).
- DX 2026 datée : pas de trace viewer intégré, debug difficile.
- Lenteur d'exécution comparée aux alternatives modernes.
- Configuration complexe (drivers, versions, capabilities).
3. Cypress : la révolution DX qui a vieilli
Lancé en 2017, Cypress a révolutionné l'expérience développeur du test E2E avec son interface time-travel, son auto-wait et sa promesse "tests stables". Il garde une excellente DX et une communauté solide, mais ses choix architecturaux pèsent en 2026.
Avantages
- UI interactive remarquable, debug visuel time-travel.
- Excellente documentation, communauté très active.
- Auto-wait natif, peu de flakiness sur les cas standards.
- Plugins matures (cypress-axe pour l'accessibilité, cypress-image-snapshot, etc.).
Inconvénients
- Multi-navigateurs limité : Chrome / Edge / Firefox uniquement, pas de Safari natif (Webkit).
- Pas de multi-onglet ni multi-domaine simple : architecture iframe qui pose problème pour les flows OAuth, paiement, SSO.
- Modèle d'exécution dans le navigateur : plus lent qu'un driver externe sur les longues suites.
- Cypress Cloud (paid) pour la parallélisation et les tests programmatiques.
4. Playwright : le nouveau standard
Lancé par Microsoft en 2020 (équipe issue de Puppeteer), Playwright a coché toutes les cases que Cypress avait laissées vides : multi-navigateurs vrais (Chromium, Firefox, WebKit), multi-domaine natif, multi-onglet, parallélisation gratuite.
Avantages
- Multi-navigateurs natifs incluant WebKit (Safari).
- Auto-wait intelligent : tests stables par défaut.
- Trace viewer : debug visuel post-mortem incroyable.
- Multi-onglet, multi-domaine, multi-contexte sans hack.
- Parallélisation gratuite et performante.
- Codegen : enregistrement de tests à partir d'interactions navigateur.
- API moderne :
getByRole,getByTestId,expect()avec auto-retry. - Multi-langage : TypeScript / JavaScript / Python / Java / C#.
Inconvénients
- Communauté plus jeune que Cypress (mais croît très vite).
- Learning curve un peu plus raide pour les juniors qui débutent.
- Moins de plugins tiers que Cypress (l'écart se réduit chaque mois).
Exemple : multi-onglet, simple en Playwright
// Test d'un flow d'invitation : envoyer un mail puis cliquer le lien dans un autre onglet const [newTab] = await Promise.all([ context.waitForEvent("page"), page.getByTestId("open-invite-link").click(), ]); await newTab.waitForLoadState(); await expect(newTab).toHaveURL(/\/welcome/);
Ce code prend 30 secondes à écrire. Le même test en Cypress demande de bidouiller avec cy.window() et des intercepteurs. En Selenium, c'est encore plus verbeux.
5. Tableau comparatif détaillé
| Critère | Selenium | Cypress | Playwright |
|---|---|---|---|
| Auto-wait | Non (manuel) | Oui | Oui (intelligent) |
| Multi-navigateurs | Tous | Chrome, Firefox, Edge | Chromium, Firefox, WebKit |
| Multi-onglet / multi-domaine | Oui (verbeux) | Limité | Oui (natif) |
| Vitesse d'exécution | Lent | Moyen | Rapide |
| DX (debug, traces) | Mauvaise | Excellente | Excellente (trace viewer) |
| Codegen | Plugins tiers | Limité | Natif et puissant |
| Parallélisation | Selenium Grid | Cloud payant | Gratuit et natif |
| Mobile testing | Appium | Non | Émulation responsive |
| Langages supportés | Tous | JS / TS uniquement | JS, TS, Python, Java, C# |
| Adaptation aux SPA modernes | Moyen | Excellent | Excellent |
6. Quel outil pour quel cas
Choisissez Selenium si...
- Vous avez une stack Java / C# / Ruby et une suite existante en Selenium.
- Vous testez des navigateurs anciens (IE 11, vieux Edge).
- Vous avez besoin d'une infra de Grid à très grande échelle (1000+ nodes).
Choisissez Cypress si...
- Vous avez une SPA monolithique en JS / TS, pas de flows multi-domaine complexes.
- Votre équipe a une expérience Cypress préexistante et un setup qui fonctionne.
- Vous priorisez l'expérience UI de debug pour des juniors.
Choisissez Playwright si...
- Vous démarrez une nouvelle suite de tests E2E.
- Vous avez des flows OAuth, paiement, multi-onglet, ou des sous-domaines.
- Vous voulez tester sur Chromium, Firefox et WebKit (Safari).
- La performance d'exécution et la stabilité comptent pour vous.
7. Migrer entre outils : les coûts réels
Une migration n'est jamais gratuite. Voici les ordres de grandeur observés :
| Migration | Effort par test | Gain principal |
|---|---|---|
| Cypress → Playwright | ~30 min | Multi-domaine, parallélisation gratuite, WebKit |
| Selenium → Playwright | ~1 à 2 h | Stabilité, vitesse, DX |
| Selenium → Cypress | ~1 à 2 h | DX, stabilité (mais moins gain que Playwright) |
La règle empirique : si vous avez moins de 30 tests, migrez tout d'un coup. Au-delà, faites une migration progressive en commençant par les nouveaux tests.
8. Notre recommandation finale
Pour 90% des cas en 2026, Playwright est le bon choix par défaut. C'est l'outil qui combine le mieux DX, performance, multi-navigateurs et coût total.
Cypress reste un bon choix si vous avez déjà une suite mature qui fonctionne et pas de besoin multi-domaine. Selenium ne devrait plus être un choix par défaut sauf contraintes très spécifiques.
Notre stack chez Prod Watch est 100% Playwright. Tous nos clients sont sous Playwright (ou le seront après migration), et c'est aussi ce que nous recommandons aux équipes qui démarrent.
Vos tests Playwright en monitoring 24/7
Connectez vos specs existantes, recevez les rapports en temps réel, soyez alerté avant vos utilisateurs.