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