Sikuli
Sikuli
http://sikuli.org
MIT License
1.0 rc3
08.12.2011
Sikuli ist ein Werkzeug zum Automatisierten Zugriff auf grafischen Benutzeroberflächen. Mittels Bildern, die definieren an welchen Stellen Nutzeraktionen stattfinden sollen und einem Script kann Benutzerverhalten simuliert werden.
Sikuli bietet die Möglichkeit schnell und effizient Tests für Benutzeroberflächen zu erstellen. Bei einer Änderung von der GUI bzw. bei der Änderung von Grafiken, müssen diese jedoch auch im Test ersetzt werden. So müssen bei einem Designwechsel jegliche Grafiken ersetzt werden.
Wenn die Sikuli Entwicklungsumgebung noch an Stabilität gewinnt, kann man mit dieser einfach automatisierte Tests erstellen.
Sikuli kann zum Automatisieren von Oberflächentests einer Webseite, eines Desktop Programms oder aber auf mobilen Endgeräten eingesetzt werden.
Es stehen für Mac OS X, Windows und Linux Entwicklungsumgebungen zur Verfügung. Außerdem kann Sikuli mit Hilfe der Bibliothek 'sikuli-script.jar' in Java Programmen ausgeführt werden.
Auf der Sikuli Webseite stehen für die verschiedenen Plattformen Archive bereit. Nachdem Entpacken kann die Sikuli Entwicklungsumgebung ohne Installation gestartet werden.
Die Dokumentation von Sikuli ist gut strukturiert und besitzt einen übersichtlichen Aufbau. Die Dokumentation ist in englischer Sprache verfasst. Sie beinhaltet zu Beginn einführende Beispiele und eine detaillierte Beschreibung der Scriptsprache "Sikuli Script".
Die Projektseite wird stetig aktualisiert.
Als Anlaufstelle für Fragen und Anregungen steht die Plattform https://launchpad.net/sikuli bereit (Kollaboration Plattform).
Die Bedienung von Sikuli ist einfach und intuitiv. Man kann mit wenigen Befehlen ein Script erstellen, welches Benutzerverhalten anhand von Grafiken simuliert.
Die erstellten Tests können mit einem ANT Script aufgerufen werden.
Ein Sikuli Plugin ist nicht vorhanden. Es kann aber ein ANT Script verwendet werden, um die Tests auszuführen.
Ein Sikuli Plugin ist nicht vorhanden. Es kann aber ein ANT Script verwendet werden, um die Tests auszuführen.
Sikuli Entwicklungsumgebung
Unit Tests für grafische Oberflächen
Um mit Sikuli Unittests durchführen zu können, muss man die Methoden setUp und tearDown konstruieren, ähnlich wie in JUnit. Die eigentlichen Testmethoden müssen mit test beginnen.
Hier ein minimales Beispiel, welches den Login einer JSF-Anwendung testet. Als erstes ist die setUp-Methode erstellt. Diese öffnet vor jedem Test Firefox und ruft die entsprechende URL auf. Zusammen mit der tearDown-Methode, die Firefox wieder schließt, stellt die Methoden den Rahmen dar.
Nun die zwei minimalen Testmethoden. Diese kopieren in die entsprechenden Eingabefeldern die Daten und klicken auf den 'Einloggen' Button.
Nachdem der Unittest durchgeführt wurde, kann in der Sikuli IDE unter dem Reiter 'Unit Test', das Ergebnis begutachtet werden.
Nutzung von Sikuli Script in Java
Ein einfaches Sikuli Beispiel: Hier wurde nicht die Sikuli eigene Entwicklungsumgebung genutzt. Es wurde die sikuli-script.jar als Bibliothek genutzt.
Bei der Benutzung unter Windows sollte man darauf achten den Pfad von den Sikuli Bibliotheken dem System Pfad hinzuzufügen.
Es zeigt eine JSF Anwendung, in die sich das Script automatisiert einloggt.
Hierzu wird der Firefox gestartet, die URL eingegeben und die Benutzerdaten in die entsprechenden Felder eingetragen.
Beispiel
Quellcode des Tests
Zustand nach dem Öffnen und der Eingabe
Zurück zur Werkzeugübersicht
Zurück zur CSI-Hauptseite