Im Bereich der Open-Source End-To-End Test-Frameworks gesellt sich seit Kurzem ein neuer Player hinzu, nämlich Playwright. Wer damit loslegen will, braucht lediglich das Node.js Paket zu installieren, das alle nötigen Erweiterungen beinhaltet. Es beinhaltet auch alle nötigen Browser-Treiber, sodass nicht wie in Selenium jeder einzelne Browser-Treiber von Hand installiert werden muss.
Da es sich bei Playwright um ein UI-basiertes Automatisierungstool für Webanwendungen handelt, lassen sich Aktionen wie beispielsweise das Anlicken von Schaltflächen oder Ausfüllen von Textfeldern ganz bequem automatisieren. Zu den unterstützten Programmiersprachen zählen Java, Python, .NET C#, TypeScript und JavaScript. Unter den Browsern werden Firefox, Chromium und Webkit unterstützt auf sowohl Windows, Linux und Mac OS.
Inhaltsverzeichnis:
Warum Testautomatisierung?
Testautomatisierung kann zur Simulierung des Benutzerverhaltens verwendet und eingesetzt werden. Dabei wird getestet, ob auch Applikationen das gewünschte Verhalten aufweisen. Testautomatisierung sorgt in allererster Linie für bessere Software-Qualität, da Tests wesentlich schneller und effizienter durchgeführt werden können. Fehler, die beim stetigen manuellen Testen durch den Faktor Mensch auftreten können, können dadurch enorm reduziert werden. Auch können Entwicklerkapazitäten für wichtigere Aufgaben eingesetzt werden statt sich auf das repetitive Testen zu konzentrieren.
Die wichtigen Aspekte der Testautomatisierung
- Geschwindigkeit, Effizienz und Skalierbarkeit: Da in der Regel die Verarbeitungszeit vom Computer viel schneller als die vom Menschen ist, werden auch die Tests entsprechend innerhalb von Sekunden ausgeführt. Das spart zum einen Zeit und kann auch nach Belieben parallel skaliert werden.
- Reduzieren von Fehlern: Da Menschen nicht stetig produktiv arbeiten können, können insbesondere beim manuellen Testen Fehler auftreten. Weil automatisierte Tests davon in der Regel nicht betroffen sind, lassen sich so viele Fehlerherde eindämmen, womit auch eine zusätzliche Konsistenz und Zuverlässigkeit einhergeht.
- Schnelleres Auffinden von Bugs: Je früher mit der Testautomatisierung in einem Projekt begonnen wird, desto früher können unerwünschte Bugs gefunden und rechtzeitig behoben werden, was die Effizienz innerhalb des Teams steigert.
- Schnellerer Entwicklungszyklus: Automatisierte Tests können personenunabhängig zu jeder Zeit wiederholt ausgeführt werden und somit den Entwicklungsprozess beschleunigen.
Geschichte von Playwright und Selenium
Selenium
Mit einem Alter von fast 20 Jahren ist Selenium im Gegensatz zu Playwright eindeutig das ältere Gegenstück. Dieses entwickelte Jason Huggins im Jahre 2004 im Rahmen eines internen Projekts in seiner Firma ThoughtWorks, das als primäres Ziel das Testen von Webseiten verfolgte. Im Laufe der Zeit schlossen sich immer mehr Mitarbeiter dem Projekt an, inklusive Paul Hammant, der auch als Initiator die Entwicklung von Selenium Remote Control vorantrieb.
Im Jahre 2007 wechselte Huggins dann zu Google und führte dort weitere Verbesserungen an Selenium fort, während zur selben Zeit Simon Stewart parallel in ThoughtWorks die Browsersteuerung Webdriver entwickelte. Beide erkannten aber schnell, dass zwei getrennte Projekte am selben Entwicklungsobjekt wenig Sinn machen würden, weshalb beide dann zum Selenium Webdriver – auch Selenium 2.0 genannt – vereint wurden. Der Sprung auf Selenium 3.0 erfolgte dann am 13. Oktober 2016, das bis heute verwendet wird.
Playwright
Wesentlich kürzer auf dem Markt ist Playwright, das am 31. Januar 2020 von Microsoft veröffentlicht wurde. Die Köpfe, die hinter dessen Entwicklung steckten, waren auch diejenigen, die an der Entwicklung von Googles Puppeteer mitwirkten. Wie auch Selenium verfolgt Playwright das Testen von Webseiten. Trotz seines jungen Alters erfreut sich das Testing-Tool stetiger Beliebtheit, was sich auch aus den Zahlen sowie aus dem darauffolgenden Diagramm ersehen lässt. Zu erwähnen wäre, dass es sich hier um die JavaScript-Versionen handelt.