Name

Selenium Client Drivers (Java)

Homepage

http://seleniumhq.org

Lizenz

Apache-Lizenz 2.0

Untersuchte Version

Silenium Client Drivers 2.0b2 für Java

Letzter Untersuchungszeitpunkt

03.04.2011

Kurzbeschreibung

Die Selenium Client Driver Bibliotheken, auch als Selenium WebDriver bezeichnet, beinhalten Treiber und Klassen zum Bedienen von Webbrowsern und Durchführen von automatisierten Tests für Web-Oberflächen und Web-Applikationen. Mit den Selenium WebDriver Bibliotheken, kann die Bedienung der Browser komplett aus einer der unterstützten Programmiersprachen (z.B. Java) heraus durchgeführt werden. Die Client Drivers können weiterhin dafür benutzt werden, ein anderes Selenium Werkzeug, den Selenium Server, zu steuern.

Fazit

Die Benutzung ist für Programmierer mit Java Kenntnissen einfach. Eine gute Dokumentation mit Kurzeinstieg und das einheitliche Interface für die Bedienung von Web-Elementen, führen auch bei Einsteigern zu schnellen ersten Ergebnissen. Der Funktionsumfang beschränkt sich zwar auf Grundlegende Bedienung von Web-Oberflächen, aber gekoppelt mit einem Framework wie z.B. JUnit oder TestNG ist das Werkzeug dennoch mächtig und lohnt sich auch für erfahrene Nutzer.

Einsatzgebiete

Die Client Drivers kommen primär bei Tests von Web-Oberflächen zum Einsatz. Da sie direkt aus Software der unterstützten Programmiersprachen heraus bedient werden können, eignen sie sich gut für den Einsatz zusammen mit Test Frameworks wie JUnit. Das Testen von JSF Applikationen ist ohne weiteres möglich, die Bedienung von Flash und Silverlight Inhalten auf Webseiten wird dagegen nicht unterstützt.

Einsatzumgebungen

Die Client Drivers sind nicht an Entwicklungsumgebungen gebunden. Die Nutzung zusammen mit einem Test Framework wie JUnit oder TestNG ist aber sehr sinnvoll. Abhängig davon, mit welchem Web Browser Treiber gearbeitet wird, muss der entsprechende Web-Browser auf dem Testrechner installiert sein.

Installation

Die Installation ist einfach, da die Client Drivers für Java, in Form von .jar Dateien, lediglich in das Projekt in dem sie genutzt werden sollen, eingebunden werden müssen.

Dokumentation

Die Dokumentation ist nur in Englischer Sprache, im HTML Format online oder als PDF zum Download, verfügbar und macht einen gut strukturierten Eindruck. Es gibt einen guten Schnelleinstieg, mit Beispielen. Weiterhin gibt es ein Video und Grafiken, die einen Überblick über das gesamte Selenium Projekt geben. Zu beachten ist, dass die Dokumentation zum Testzeitpunkt noch unvollständig bezüglich Selenium 2.0 ist und sich gerade in der Entwicklung befindet.

Wartung der Projektseite

Die Projektseite macht einen generell gepflegten Eindruck. Zum Untersuchungszeitpunkt wird auf der Seite darauf hingewiesen, dass größere Veränderungen in der Dokumentation und Projektbeschreibung anstehen und bisher nur Ansatzweise umgesetzt wurden.

Nutzergruppen und Support

Es existiert eine Community getriebene Fragen- und Antwortseite unter: http://area51.stackexchange.com/proposals/4693/selenium Eine Offizielle Nutzergruppe unter: http://groups.google.com/group/selenium-users Ein Internet Relay Chat (IRC) Channel unter: #selenium auf irc.freenode.net Ein Tracker für Bugs unter: http://code.google.com/p/selenium/issues/list Darüber hinaus, sind auf der Support Seite der Selenium Web-Seite, einige Kommerzielle Berater aufgelistet.

Intuitive Nutzbarkeit

Der Schnelleinstieg und die Beispiele helfen schnell zu ersten Ergebnissen zu kommen. Grundsätzlich wird vieles einsteigerfreundlich vermittelt, wenn allerdings die Zusammenarbeit mit Werkzeugen von Drittanbietern (z.B. JUnit, Maven etc) erläutert wird, wird vorausgesetzt, dass der Leser mit diesen bereits vertraut ist.

Automatisierung

In Verbindung mit JUnit oder TestNG, sind die Testabläufe fast identisch zu reinen JUnit oder TestNG Tests. Es muss lediglich sichergestellt werden, dass die benutzten Browser korrekt installiert sind.

Einführendes Beispiel

Im folgenden Beispiel, wird der allgemeine Ablauf eines Tests in Verbindung mit JUnit 4 demonstriert. Es wird ein Browser gestartet, die Webseite "www.google.de" geladen und mit ihr interagiert und eine Auswertung vorgenommen. Das Beispiel kann sowohl in Netbeans als auch Eclipse durchgeführt werden. Da die Selenium Client Drivers nicht an JUnit 4 gebunden sind, ist es ohne großen Aufwand möglich, das Beispiel für den Einsatz mit anderen Test Engines, wie TestNG oder JUnit 3, abzuändern.

Vorbereitung:

In einem existierendem oder neu angelegtem Projekt, muss ein neuer JUnit Testfall erzeugt werden (sinnvoll aber optional ist es, den Test in einem eigenen package für tests anzulegen).

in netbeans



Nun müssen die Selenium Client Drivers für Java heruntergeladen und entpackt werden. Ist dies erledigt, müssen aus dem entpackten Ordner die "selenium-java-2.0b2.jar" und der Inhalt des "lib" Ordners zum Projekt hinzugefügt werden.

libs einbinden



Jetzt kann der erzeugte Testfall implementiert werden. So sieht der Code aus:

Durchführung:

Der Testfall wird wie ein normaler JUnit Test gestartet (z.B. Rechtsklick auf die Testklasse und "run file" auswählen). Mit allen Browser-Treibern außer HtmlUnitDriver, der ohne sichtbares Fenster arbeitet, muss sich nun ein Browser-Fenster öffnen und der Test ausgeführt werden.

ergebnis

Detaillierte Beschreibung

-

Literatur

-

Zurück zur Werkzeugübersicht
Zurück zur CSI-Hauptseite