Selenium Client Drivers (Java)
http://seleniumhq.org
Apache-Lizenz 2.0
Silenium Client Drivers 2.0b2 für Java
03.04.2011
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
-
-
Zurück zur Werkzeugübersicht
Zurück zur CSI-Hauptseite