Das Open Source Test Framework Selenium zum Testen von Browser basierten Applikationen wird demnächst in der Version 2.0 erscheinen. Das von Google bekannte WebDriver wird in dieser Version Bestandteil von Selenium 2.0. Obwohl Selenium bisher viele Browser unterstützt, sowie Tests in vielen Sprachen zu erstellt werden können, ist die Implementierung von Selenium ein Schwachpunkt. Dadurch dass Selenium in JavaScript geschrieben wurde, ergeben sich einige Nachteile. Dies Beschränkungen versucht Google mit WebDriver zu lösen.

WebDriver verfolgt einen anderen Ansatz als Selenium. Anstatt als JavaScript Applikation im Browser zu laufen, steuert es den Browser direkt. Bei Firefox geschieht dies durch eine Extension. Um den Internet Explorer anzusprechen, werden die IE Automation Controls benutzt.

Um WebDriver bzw. Selenium 2.0 auszuprobieren, kann es auf der Selenium Download Seite heruntergeladen werden. Grundlage dieses Posts ist Alpha 4 Version selenium-java-2.0a4.zip. Die Datei selbst enthält nur Jar Dateien, die sich in einem Java Projekt z.B. unter Eclipse referenzieren lassen. Um ein Eclipse Projekt zu erstellen:

  1. In Eclipse ein neues Java Projekt erstellen: File → New Java Project.
  2. Projektnamen eingeben, z.B. WebdriverGuiTest und Finish klicken.
  3. Auf das Projekt klicken und im Context Menu Build Path→ Add External Archives… wählen.
  4. Jetzt das Verzeichnis auswählen, in dem die zuvor entpackten Jar Dateien liegen und alle selektieren.

Das Eclipse Projekt ist nun so weit vorbereitet und es können WebDriver Skripts erstellt werden. Ein Skript, welches auf der Google Seite eine Suche durchführt und gleichzeitig eine Zeitmessung durchführt, ist unten dargestellt:

Durchführung einer Google Suche mit Selenium 2.0

In dem Skript finden sich einige Standardtechniken wieder. Zunächst wird der Firefox Browser gestartet und die Google Homepage geladen. Dann wird ein Suchbegriff in das Suchfeld eingegeben, welches über den Namen gefunden wird. Auf der Ergebnisseite hingegen, wird der erste Link durch einen XPath Ausdruck gesucht. Ein Einstieg in die Skripterstellung findet sich in der Dokumentation zu Selenium 2.0 and WebDriver.

Sobald das Skript erstellt ist, kann es gestartet werden. Es ist keine weitere Installation oder Konfiguration notwendig. WebDriver findet Firefox selbständig und startet es mit der WebDriver Extension. Die Eclipse Konsole zeigt die Laufzeit und den ersten gefundenen Link an:

Und hier zur Kontrolle der Browser:

Um die Programmierung der WebDriver Skripts zu beschleunigen, kann in Eclipse der Ort der JavaDoc hinterlegt werden:

  1. Dazu wird in Eclipse im Package Explorer unter Referenced Libraries die Bibliothek selenium-java-2.0a4.jar selektiert.
  2. Nun öffnen wir über das Kontextmenu die Properties und geben bei Javadoc Location die URL http://selenium.googlecode.com/svn/trunk/docs/api/java/ ein.

Fazit

Mit WebDriver lassen sich schnell und effektiv Skripts erstellen. WebDriver findet den gewünschten Browser selbständig und konfiguriert diesen für das Playback der Skripts. Zwar müssen die Skripts in einer IDE wie Eclipse erstellt werden, statt sie durch den Recorder der Selenium IDE aufzunehmen. Dafür bietet WebDriver jedoch eine API von sehr hoher Qualität der WebDriver API. Hinzu kommt die Stabilität und die Zuverlässigkeit der Skripts, welches letztlich bei der Testautomatisierung entscheidend ist.

Kommentar hinterlassen

Es kann sein, dass dein Kommentar zuerst in die Kommentar-Warteschlange gelangt, danach muss er zuerst von mir freigeschaltet werden. Dies geschieht im Normalfall nach maximal 24h.