Freiwillige Fernkontrolle
Der Selenium-Server steuert den Browser also nicht wirklich fern, sondern dieser fragt auf Grund des vom Proxy gelieferten Javascript-Code regelmäßig nach neuen Anweisungen. So manipuliert die Fernsteuerung den Browser auf ähnliche Weise wie ein Firefox-Plugin. Diese Methode hat den Vorteil, dass Selenium die Browser verschiedener Hersteller ohne zwingende Plugin-Installation nach seiner Pfeife tanzen lässt.
Der Selenium-Server ist bei [2] unter einer Apache-Lizenz verfügbar. Das Zip-Archiv enthält den Java-Quelltext und die kompilierte ».jar«-Datei. Den janusköpfigen Server startet der Befehl:
LD_LIBRARY_PATH=/Pfad/zu/firefox-1.5 java U-jar selenium-server.jar
Dabei ist es wichtig, dass sich die dynamischen Libraries der Firefox-Installation, beispielsweise die Datei »libmozjs.so«, im Firefox-Verzeichnis befinden. Ist der Browser standardgemäß installiert, entfällt die Angabe von »LD_LIBRARY_PATH«. Das Gleiche gilt für den Konstruktor »new« der Klasse »WWW::Selenium«: Statt des langwierigen Installationspfads darf der Parameter »browser« einfach den Wert »"*firefox"« erhalten, wenn die Binärdatei im Pfad liegt. Dann kann auch die in den Listings verwendete Umgebungsvariable »FIREFOX_HOME« ungesetzt bleiben.
Der Selenium-Server verwendet Port 4444 und lässt dort mit sich reden. Im Konstruktor von »WWW::Selenium« steht diese Information im Parameter »port«, den das Testskript ebenfalls auf 4444 vordefiniert.
Eine bisher nicht überwundene Hürde stellen die Sicherheitsbeschränkungen dar, denen Javascript unterliegt. Um die Gefahr des Missbrauchs einzudämmen, darf der Javascript-Code einer Domain den Inhalt einer Webseite nicht manipulieren, wenn diese auf einer anderen Domain liegt.
Deshalb nimmt der Konstruktor der Klasse »WWW::Selenium« mit dem Parameter »browser_url« die Basis-URL der zu testenden Website entgegen. Tests können nur auf der angegebenen Domain erfolgen, Skripte zum Testen des Zusammenspiels mehrerer Domains sind noch nicht möglich. Die nächste Selenium-Version sieht jedoch bereits eine Möglichkeit vor, die Basis-URL dynamisch zu verändern.
Auch als Plugin
Das Projekt bietet auch ein Firefox-Plugin namens Selenium IDE an. Es öffnet nach der Aktivierung ein Dialogfenster (Abbildung 5) und springt dann sofort in einen Aufnahmemodus, um im Browser ausgeführte Aktionen zu protokollieren. Dazu verwendet es die Selenium-eigene Sprache Selenese. Selenium IDE reproduziert die mitgeschnittenen Schritte bei Bedarf und ermöglicht damit die Definition von Testsuiten. Die protokollierten Daten lassen sich auch extrahieren, um daraus umfangreiche Regressionstests in Perl zu schreiben.

|
Abbildung 5: Das Firefox-Plugin Selenium IDE protokolliert und extrahiert Browser-Aktionen.
|
Ein mit Selenium ausgestattetes Perl-Skript steuert auch Browser auf anderen Rechnern und Betriebssystemen fern. So lässt sich die Kompatibilität einer Webapplikation für eine Reihe von Browsern prüfen. Um etwa Microsofts Internet Explorer unter Windows fernzusteuern, kopiert man die ».jar«-Datei der Selenium Remote Control auf ein Windows-System und startet den Server mit:
java -jar selenium-server.jar
Das setzt allerdings auch auf dem Windows-System eine Java-Laufzeitumgebung voraus.
Die IP-Adresse des Windows-Rechners ist mit »ipconfig« in der Eingabeaufforderung zu erfahren, im Beispiel heißt sie »192.168.0.70«. Damit die Testsuite des Linux-Steuerungsrechners mit dem Internet Explorer funktioniert, definiert man im Konstruktor von »WWW::Selenium« die IP, den Port und den Browser:
host => "192.168.0.70",
port => 4444,
browser => "*iexplore",
Die Testskripte laufen weiterhin auf dem ursprünglichen System.
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|