44 Punkte von xguru 2022-11-14 | 4 Kommentare | Auf WhatsApp teilen
  • Selenium war de facto der Standard für Web-Automatisierung/-Tests
    • Einfach einzurichten und unterstützt fast alle Programmiersprachen
    • Es reicht aus, aber eben auch nur gerade so
    • Auf Websites mit modernen JavaScript-Frameworks funktioniert es nicht besonders gut (Angular, React, ..)
      → Das heißt nicht, dass es gar nicht funktioniert. Nur eben nicht besonders gut
    • Es heißt zwar, die Dokumentation sei gut, aber sobald man in der Praxis auch nur leicht vom Hauptpfad abweicht, ist es schwer, passende Beispiele zu finden
  • Ich habe versucht, Dinge wie Chai, Mocha und Cypress zu verwenden, aber deren Konfiguration ist völlig anders, und für Python-Entwickler ist das nicht einfach
  • Es wurden Dutzende Selenium-Alternativen entwickelt, aber die meisten sind nach ein paar Jahren wieder verschwunden

Enter Playwright

  • Hervorragend, und wichtig ist außerdem, dass es von Microsoft entwickelt wird. Es wird daher wohl lange unterstützt werden
  • Das Killer-Feature von Playwright ist die „automatische Testerstellung“
    • Man öffnet den Browser und führt die Schritte nacheinander aus, dann wird das aufgezeichnet und in ein Python-Skript umgewandelt
    • Das erspart die Mühe, in Selenium Dinge wie XPath zu finden
    • Die so gespeicherten Schritte lassen sich fast ohne Änderungen direkt ausführen
  • Ein weiterer Vorteil ist, dass man den Ausführungsprozess als Video speichern und ansehen kann
  • Der einzige Nachteil ist, dass es noch neu ist. Es gibt noch viele Bugs und die Dokumentation ist nicht besonders gut
  • Insgesamt betrachtet würde ich aber für alle neuen Projekte Playwright wählen

4 Kommentare

 
yangeok 2022-11-21

Aus der Perspektive von jemandem, der zunächst puppeteer genutzt und dann das vollständige Onboarding auf Playwright erfolgreich geschafft hat, denke ich, dass allein die Codegen-Funktion von Playwright den Umstieg lohnenswert macht.

 
joone 2022-11-15

Aus der Perspektive von jemandem, der lange nur Puppeteer und nur Node verwendet hat, ist der Umstieg auf Playwright nicht gerade leicht.

 
kunggom 2022-11-15

Anstatt nur darüber nachzudenken, bestehende Projekte zu migrieren, wäre es doch sinnvoll, bei neuen Projekten aktiv zu prüfen, Playwright von Anfang an einzuführen. Oder man startet einfach ein Toy-Projekt, um es auszuprobieren.

 
kbumsik 2022-11-14

Ich finde, dass Playwright eine konsistente und etwas sauberere API über verschiedene Sprachen hinweg (JS, Python) bietet.
Gerade bei Python ist die Async-Unterstützung wirklich sehr gut haha