Notes fondamentales
Référence principale : https://blog.logrocket.com/playwright-vs-puppeteer/ ; les lignes suivantes sont mes notes.
Depuis que Chrome prend en charge les navigateurs headless , les frameworks d’automatisation web ont commencé à évoluer très rapidement, alors qu’auparavant des développeurs individuels soutenaient des technologies complexes et fastidieuses comme PhantomJS et Selenium.
À propos de Puppeteer : c’est le framework officiellement pris en charge par Chrome, fondé sur le protocole DevTools, et plus stable que PhantomJS, fondé sur le protocole WebDriver.
À propos de Playwright : son équipe vient de Puppeteer. Par rapport à Puppeteer :
- L’API est similaire (le coût d’utilisation est donc faible).
- Certaines API sont plus ergonomiques ; il est notamment très facile de simuler plusieurs appareils.
- Firefox et WebKit sont compatibles, quoique de manière moins complète (les équipes de Puppeteer et de Playwright construiront peut-être ensemble à l’avenir…).
Pour le choix technique, que l’on choisisse Playwright, Puppeteer, Cypress, PhantomJS ou Selenium (qui offre beaucoup de solutions de contournement, mais reste très instable), il faut tenir compte de plusieurs points :
- La compatibilité entre navigateurs (d’après cet article, Playwright est actuellement le meilleur, mais qui peut garantir que Puppeteer et Cypress resteront toujours derrière ?)
- Le support à long terme (je trouve presque superflu de le préciser…).
- L’analyse du besoin métier au cas par cas (même remarque…).
Choix pour le métier
Pour un nouveau projet, je recommande Playwright. Une comparaison détaillée avec les autres frameworks se trouve dans le deuxième article de la section Autres références ci-dessous.
Autres références
- The reckless, infinite scope of web browsers — une réflexion sur l’écosystème moderne des navigateurs.
- Playwright VS Selenium VS Puppeteer VS Cypress — un article chinois assez complet et multidimensionnel comparant les frameworks d’automatisation web populaires.
- Puppeteer, Selenium, Playwright, Cypress – how to choose? — l’article cité au début de l’article chinois ci-dessus.