44 points par xguru 2022-11-14 | 4 commentaires | Partager sur WhatsApp
  • Pour l’automatisation/le test web, Selenium était de facto le standard
    • Facile à prendre en main et compatible avec presque tous les langages de programmation
    • Suffisant, mais pas vraiment plus que ça
    • Fonctionne mal sur les sites construits avec des frameworks JavaScript modernes (Angular, React, ..)
      → Cela ne veut pas dire que ça ne marche pas du tout, mais simplement que ça ne fonctionne pas très bien
    • On dit souvent que la documentation est bonne, mais dès qu’on veut faire quelque chose qui sort un peu du chemin principal, il devient difficile de trouver des exemples
  • J’ai essayé d’utiliser des outils comme Chai, Mocha ou Cypress, mais leur configuration est complètement différente et ce n’est pas simple pour un développeur Python
  • Des dizaines d’alternatives à Selenium ont été créées, mais la plupart ont disparu au bout de quelques années

Voici Playwright

  • Excellent outil, et le fait qu’il soit développé par Microsoft est important : il sera probablement maintenu longtemps
  • La fonctionnalité phare de Playwright est la « génération automatique de tests »
    • On ouvre le navigateur, on exécute les étapes une par une, et l’outil les enregistre pour en faire un script Python
    • Cela évite la corvée de devoir repérer des éléments comme les XPath avec Selenium
    • Les étapes enregistrées de cette façon peuvent être exécutées quasiment telles quelles, sans modification
  • Autre avantage : on peut enregistrer le processus d’exécution en vidéo et le revoir
  • Son seul vrai défaut est d’être encore récent : il y a pas mal de bugs et la documentation n’est pas très bonne
  • Mais globalement, pour tout nouveau projet, je choisirais Playwright

4 commentaires

 
yangeok 2022-11-21

Après avoir utilisé Puppeteer puis réussi à migrer complètement vers Playwright, je pense que rien que la fonctionnalité de génération de code de Playwright vaut déjà le coup de passer à cet outil.

 
joone 2022-11-15

Du point de vue de quelqu’un qui utilise Puppeteer depuis longtemps et ne travaille qu’avec Node, passer à Playwright n’est pas si facile d’un coup.

 
kunggom 2022-11-15

Au lieu de réfléchir d’abord à la migration d’un projet existant, pourquoi ne pas envisager activement d’adopter Playwright dès le lancement d’un nouveau projet ? Ou bien, commencer par un projet perso pourrait aussi être une bonne idée.

 
kbumsik 2022-11-14

L’API de Playwright me semble plus cohérente entre les langages (JS, Python) et un peu plus propre.
Surtout dans le cas de Python, la prise en charge de l’async est vraiment très bonne, haha.