Name

Selenium RC

Homepage

http://seleniumhq.org

Lizenz

Apache-Lizenz 2.0

Untersuchte Version

Selenium Server 2.0b3 Selenium Client Drivers 2.0b3 für Java

Letzter Untersuchungszeitpunkt

03.04.2011

Kurzbeschreibung

Selenium RC (auch Selenium 1 genannt) wird zur skriptgesteuerten Bedienung von Webbrowsern eingesetzt, um Tests von Web-Oberflächen und Web-Applikationen zu automatisieren. Durch den Einsatz von JavaScript zur Steuerung von Browsern, soll eine hohe Kompatibilität zu möglichst vielen Webbrowsern erreicht werden. Der Selenium Server erlaubt, mit entsprechenden Client Drivers, die Test Erstellung in verschiedenen Skript- und Programmiersprachen.

Fazit

Die Benutzung ist für Programmierer mit Java Kenntnissen einfach. Eine gute Dokumentation mit Kurzeinstieg führen auch bei Einsteigern zu schnellen ersten Ergebnissen, das genauere Lesen der API Dokumentation ist aber trotzdem sehr sinnvoll. Der Funktionsumfang beschränkt sich zwar weitestgehend 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. Selenium RC wird laut Entwickler zukünftig durch Selenium 2.0 abgelöst werden, wird aber noch weiter gepflegt. Die Vorteile gegenüber Selenium 2.0 sind momentan unter anderem die höhere Kompatibilität zu verschiedenen Webbrowsern und der höhere Funktionsumfang. Auch können Selenium RC Tests, mit Hilfe des Selenium Werkzeugs "Selenium Grid", parallel auf mehreren Rechnern ausgeführt werden.

Einsatzgebiete

Selenium RC kommt primär bei Tests von Web-Oberflächen zum Einsatz. Eine Reihe von angebotenen Client Drivers, ermöglicht das Erstellen der Tests in verschiedenen Skript- und Programmiersprachen und den Einsatz zusammen mit Test Frameworks wie JUnit. Gekoppelt mit Selenium Grid, können Tests, zwecks Zeitersparnis, parallel in einem Netzwerk von Rechnern durchgeführt werden.

Einsatzumgebungen

Selenium RC ist 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. Die Client Drivers für Java, in Form von .jar Dateien, müssen lediglich in das Projekt in dem sie genutzt werden sollen, eingebunden werden. Der Selenium Server kommt in einer ausführbaren .jar Datei und muss vor dem Ausführen von Tests gestartet werden.

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.

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. Mit Selenium Grid, lässt sich das Ausführen der Tests parallel auf ein Netzwerk von Rechnern verteilen, wo diese automatisiert durchgeführt und koordiniert werden.

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 und der Selenium Server heruntergeladen und entpackt werden. Ist dies erledigt, muss aus dem entpackten Ordner die "selenium-java-2.0b2.jar" Bibliothek zum Projekt hinzugefügt werden.

libs einbinden



Vor dem Ausführen von Tests, muss der Selenium Server gestartet werden. Unter der Voraussetzung, dass der Pfad zu dem Java SDK bei den "PATH" Umgebungsvariablen eingetragen ist, kann dies mit dem Konsolen-Befehl "java -jar selenium-server.jar" (*) erledigt werden.
* Für "selenium-server.jar" muss der Name der verwendeten .jar Datei des Servers eingesetzt werden, der sich bei neueren Releases in der Versionsnummer unterscheidet. (z.B. "selenium-server-standalone-2.0b3.jar" fü Selenium Server version 2.0 Beta 3)

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). Nun sollte sich ein Browserfenster öffnen und der Test ausgeführt werden.

Ergebnis

Detaillierte Beschreibung

-

Literatur

-

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