Selenium 4: Testautomatisierung mit dem offiziellen W3C Standard für automatisierte Tests von Webapplikationen

Selenium-Logo

Das neue Major Release des Testautomatisierungs-Frameworks Selenium ist in den Startlöchern und wird demnächst veröffentlicht. Ein guter Grund, auf die wichtigsten Neuerungen hinzuweisen.

Selenium WebDriver im W3C-Standard

Lange hatten wir - und die gesamte Selenium-Gemeinde - gehofft, dass dies geschieht: nun ist endlich Selenium WebDriver Teil des W3C-Standard.

Was das bedeutet?

Rufen wir uns in Erinnerung, was Selenium eigentlich macht: Selenium steuert Browser, nicht mehr und nicht weniger. Aber um das zu tun, muss Selenium mit den Browsern sprechen. Hierzu werden Schnittstellen benöitgt, diese werden von Drivern oder Treibern (je Browser/-Version) zur Verfügung gestellt. Mit anderen Worten: um Google Chrome zu nutzen wird ein Chromedriver benötigt, für Firefox ein Geckodriver, für Safari ein Safaridriver... und wenn ein Browser aktualisiert wird, muss dies auch mit dem Driver passieren (leider geht dies nicht automatisch). 

Das ist vorbei: ein W3C-konformer Browser wird direkt WebDriver unterstützen. 

Dies hat zwei Auswirkungen:

  • Die Administration wird wesentlich erleichtert.
  • Die Bedeutung von Selenium (WebDriver) wird vom W3C offiziell anerkannt.

Hier der Link zum offiziellen Recommendation-Dokument des W3C.

Selenium Grid einfacher konfigurieren und threadsicher

Selenium Grid wurde an mehreren Stellen verbessert. 

Selenium Grid? Ganz kurz gesagt handelt es sich um eine Möglichkeit, Selenium-Tests gleichzeitig von verschiedenen Clients/Browsern ausführen zu lassen. Das heißt, man kann in die Tests eintragen, mit welchem Browser/auf welchem Betriebssystem dieser ausgeführt wird und der Selenium Grid-Hub steuert die Verteilung auf die entsprechenden Nodes. 

Vereinfachte Konfiguration: Die Konfiguration von Selenium Grid war ein bisschen hakelig, aber wurde nun wesentlich vereinfacht. Jede Instanz kann als Hub (Steuerung) und als Node (Client) dienen.

Außerdem wurde das Thema Thread-Safety angegangen. Unter Threadsicherheit versteht man, dass Software gleichzeitig mehrfach ausgeführt werden kann, ohne sich gegenseitig zu stören. Vorher mussten hierfür zusätzliche Anstrengungen - mit weiterer Programmierung und Bibliotheken - unternommen werden.

Selenium IDE TNG

Die Selenium IDE war ursprünglich ein Firefox-Plugin, das als Capture/Replay-Tool auf der Basis des Selenium-Core entwickelt wurde. Als Mozilla die Plutin-Architektur von Firefox geändert hat, wurde die IDE nicht angepasst. Nun gibt es eine neue Version, die als The Next Generation bezeichnet wird.

Diese existiert für Mozilla Firefox und Google Chrome. Hierfür wurde eine neue Plugin-Architektur entworfen, die die Nutzung für weitere Browser oder Plugin-Autoren erleichtert.

Außerdem hat die IDE einen sogenannten CLI-Runner, der es ermöglicht, die Tests auch von außerhalb des Browsers zu starten. Vorher mussten diese über den Browser selbst aufgerufen werden, was den Nutzen als Testautomatisierungswerkzeug stark einschränkte.

Weitere Neuerungen

Selenium 4 kommt mit weiteren Neuerungen: zum Beispiel wird mehr Wert auf die Themen Reporting und UI gelegt. Im Zuge der Entwicklung von Selenium 4 wurde auch die Dokumentation überarbeitet, diese ist nun unter https://seleniumhq.github.io/docs/ zu finden.

Selenium Testautomatisierung Schulungen/Training

Sie wollen lieber selbst anspruchsvolle, automatisierte Tests von Webapplikation durchführen, um unabhängig zu sein?
Qytera bietet Seminare zu Selenium an: "Testautomatisierung mit Selenium" und "Testautomatisierung mit Selenium Advanced".

Selenium Sponsoring durch Qytera

Schon seit einigen Jahren ist Qytera Silver-Level-Sponsor von Selenium und fördert so aktiv die Weiterentwicklung und Pflege des Projekts.

Tags: