Playwright: Headless-Node-Bibliothek automatisiert Chrome, Firefox und Webkit
Puppeteer ist eine Node.js-Bibliothek, die zu Beginn des Jahres 2018 unter Google-Flagge das Licht der Welt erblickte. Die Bibliothek stellt eine API bereit, mit deren Hilfe Chrome- und Chromium-Instanzen über das Devtools-Protokoll automatisiert werden können. Chrome wird so zum Headless Browser, also einem Browser ohne Nutzerinterface.
Playwright: Puppeteer auf Steroiden
Mit der neuen Node-Bibliothek Playwright, dieses Mal unter Microsoft-Flagge, erweitert das Puppeteer-Team die Fähigkeiten dieser Bibliothek in Richtung Firefox und Webkit. Playwright wurde enger an den Cloud-Kontext angebunden wurde, was mit einigen gravierenden Änderungen an der Code-Basis verbunden war. Deshalb entschloss sich das Team dazu, Playwright nicht als integrale Erweiterung zu Puppeteer, sondern als eigenes Projekt zu bauen. Ein Wechsel von Puppeteer zu Playwright soll dem interessierten Entwickler dennoch nur etwas mechanischen Aufwand bescheren und schnell erledigt sein.
Für die Automation setzt Playwright auf den Webstandard Webdriver auf, will aber perspektivisch dessen Fähigkeiten erweitert sehen. Zunächst wird Playwright deshalb wohl Pioniergeist zeigen und Features proprietär implementieren. Darunter sollen sich Kern-Features moderner PWA (Progressive-Web-Apps) wie etwa der Serviceworker, Geolocation und andere befinden. Der Entwickler erkennt: Playwright ist ambitioniert.
Aktuell unterstützt Playwright über die Plattformen Linux, Windows und macOS hinweg die Browser Chrome ab 81.0.432, Webkit ab 13.0.4 und Firefox ab 73.0b3. Die Bibliothek installiert ihr per npm mit allen Abhängigkeiten. Den Source-Code und die komplette Dokumentation findet ihr auf GitHub. Aktuell ist die Version 0.9.24.
Is Playwright ready?
Playwright befindet sich in aktiver Entwicklung und ist zwar unter allen Browsern einsatzfähig, allerdings in unterschiedlichem Maße. Auf der Website Is Playwright ready? könnt ihr den jeweils aktuellen Status der Browserunterstützung einsehen. Zum Zeitpunkt der Veröffentlichung dieses Beitrags erreichte Chromium 99, Webkit 98 und Firefox 94 Prozent Erfolgsrate. 93 Prozent aller Tests konnten über alle Browser gleichermaßen erfolgreich abgeschlossen werden.
Passend dazu: Webdesign: So steht es um Progressive-Web-Apps im Jahr 2020