Sikuli

Name

Sikuli

Homepage

http://sikuli.org

Lizenz

MIT License

Untersuchte Version

1.0 rc3

Letzter Untersuchungszeitpunkt

08.12.2011

Kurzbeschreibung

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.

Fazit

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.

Einsatzgebiete

Sikuli kann zum Automatisieren von Oberflächentests einer Webseite, eines Desktop Programms oder aber auf mobilen Endgeräten eingesetzt werden.

Einsatzumgebungen

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.

Installation

Auf der Sikuli Webseite stehen für die verschiedenen Plattformen Archive bereit. Nachdem Entpacken kann die Sikuli Entwicklungsumgebung ohne Installation gestartet werden.

Dokumentation

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".

Wartung der Projektseite

Die Projektseite wird stetig aktualisiert.

Nutzergruppen und Support

Als Anlaufstelle für Fragen und Anregungen steht die Plattform https://launchpad.net/sikuli bereit (Kollaboration Plattform).

Intuitive Nutzbarkeit

Die Bedienung von Sikuli ist einfach und intuitiv. Man kann mit wenigen Befehlen ein Script erstellen, welches Benutzerverhalten anhand von Grafiken simuliert.

Automatisierung

ANT
Die erstellten Tests können mit einem ANT Script aufgerufen werden.
Maven
Ein Sikuli Plugin ist nicht vorhanden. Es kann aber ein ANT Script verwendet werden, um die Tests auszuführen.
Jenkins
Ein Sikuli Plugin ist nicht vorhanden. Es kann aber ein ANT Script verwendet werden, um die Tests auszuführen.

Einführendes Beispiel

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

Detaillierte Beschreibung

Literatur



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