Name

Selenium 2

Homepage

http://seleniumhq.org

Lizenz

Apache-Lizenz 2.0

Untersuchte Version

2.19.0

Letzter Untersuchungszeitpunkt

22.02.2012

Kurzbeschreibung

Selenium 2 ist ein Testframework für Webapplikationen. Selenium 2 oder auch Selenium WebDriver, ist der Nachfolger von Selenium RC. Es lässt sich für die meisten Browser einsetzen. Die Tests können in unterschiedlichen Programmiersprachen geschrieben werden (Java, C#, Ruby, Python). Mit dem Release von Selenium 2, wurde die neue WebDriver API eingeführt. Im Gegensatz zu Selenium RC, wo mittels Javascript mit dem Browser interagiert wird, kann mit der Implementierung der WebDriver API, der Browser nativ bzw. durch spezielle Browsererweiterungen angesprochen werden. Selenium 2 umfasst zusätzlich auch den Selenium Server, der optional benutzt werden kann. Mit diesem lassen sich z. B. Tests via Selenium Grid auf verschiedene Systeme verteilen.

Fazit

Das Arbeiten mit Selenium 2 ist einfach. Dank der guten Dokumentation, kann man schnell erste Ergebnisse erzielen. Die Dokumentation beinhaltet Beispiele für die unterstützten Programmiersprachen.

Einsatzgebiete

Selenium kommt primär bei Tests von Web-Oberflächen zum Einsatz.

Einsatzumgebungen

Selenium ist nicht an Entwicklungsumgebungen gebunden. Es stehen für verschiedene Programmiersprachen Archive zum Herunterladen zur Verfügung. Darunter Java, C#, Python und Ruby. Diese Archive beinhalten die Selenium 2 API. Mit dieser lassen sich, in der jeweiligen Programmiersprache, die Browser ansprechen.

Installation

Die Installation ist einfach. Die heruntergeladenen Dateien müssen einfach in das Projekt eingebunden werden (.jar Dateien bei Java). 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.

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

Ant
Die Selenium 2 Tests, die auf JUnit basieren, lassen sich mit Hilfe eines targets in eine 'build.xml' einfügen.
Maven
Um die Ausführung von Selenium 2 Tests mit Maven zu automatisieren, gibt es das 'Maven Jetty Plugin'. Dieses lässt sich in der 'pom.xml' als Plugin konfigurieren.
Jenkins
Die Integration von Selenium 2 in Jenkins ist mit Ant bzw. Maven einfach umzusetzen. Zusätzlich stehen Jenkins Plugins bereit, um die Testergebnisse zu visualisieren.

Einführendes Beispiel

In der Selenium Dokumentation finden sich anschauliche Beispiele (getting-started-with-selenium-webdriver). Folgendes Beispiel zeigt, wie man mit Hilfe der WebDriver API den Firefox steuern kann. Dazu muss als erstes das Java-Archiv von der Selenium Webseite heruntergeladen werden. Unter eclipse erstellt man ein einfaches Java Projekt und fügt dem Buildpath die heruntergeladene .jar Dateien hinzu.



Der folgende Quelltext beschreibt den Aufruf von einer URL, sucht ein Element, fügt diesem Element ein Text hinzu und schickt das ausgefüllte Formular ab (in diesem Fall eine Google Abfrage).


Inhalt Main.java (Quelltext aus der Selenium Dokumentation)


Google Startseite:
nach Query mit "Cheese!":

Als Ausgabe erhält man den Titel der Seite. Einmal vor dem Ergebnis und schließlich nach der Suche.


Ausgabe in der Konsole

Detaillierte Beschreibung

-

Literatur

-

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