Was ist Playwright?

Playwright ist eine Node.js Bibliothek zum Automatisieren von browserübergreifenden E2E-Tests in Chromium, Firefox und WebKit mit einer einzigen API. Da Microsoft Edge auf der Open-Source-Chromium-Webplattform basiert, ist die API auch in der Lage, Microsoft Edge zu automatisieren.

Im Gegensatz zu vergleichbaren Testwerkzeugen, liefert Playwright eine zuverlässige, timeout-freie Automatisierung. Das Tool wartet also automatisch darauf, dass die UI-Elemente verfügbar sind, bevor Aktionen darauf ausgeführt werden. Das Testing Tool kann außerdem Geolokalisierung, Emulationen mobiler Viewports und Web-Permissions automatisieren.

Architektur

Die Architektur basiert auf einer WebSocket-Verbindung im Gegensatz zu dem klassischen HTTP-Protokoll. Das bedeutet, alle Anfragen (z.B. ein Element-Click) werden über eine einzige WebSocket-Verbindung gesendet, die so lange bestehen bleibt, bis die Testausführung abgeschlossen ist. Dies reduziert die Fehlerquellen und ermöglicht das schnelle Senden von Befehlen über eine einzige Verbindung.

Features von Playwright

  • Auto-Waits: Automatisches Warten von UI-Elementen
  • Dynamische Web-Assertions: Assertions-Checks werden automatisch wiederholt, bis die erforderlichen Bedingungen erfüllt sind
  • Cross-Browser-Unterstützung: Firefox, WebKit, Chromium
  • Cross-Language-Unterstützung: TypeScript, JavaScript, Python, Java und C# verfügbar
  • Cross-Platform-Unterstützung: Tests können in Windows, Linux, macOS ausgeführt werden
  • Unterstützung von Multi-Tabs, Multi-Origins und Multi-Users
  • Ausführlicher HTML-Bericht, der in der CI nützlich sein kann

Nachteile

  • mobile Tests erfolgen über Geräteemulationen und nicht über tatsächliche mobile Geräte
  • keine Unterstützung für Legacy Microsoft Edge oder IE11
  • Test Generator: automatische Testgenerierung, jedoch sind die verwendeten Locators aussagekräftig