Technologieunabhängige GUI Testautomatisierung mit eggPlant

Veröffentlicht auf 31. Mai 2013

Die Evaluierung von Software für die Automatisierung von Oberflächentests ist manchmal schon die Suche nach der Nadel im Heuhaufen.

Unterschiedliche Betriebssysteme (Windows, Linux, Mac OS), Browser (Internet Explorer, Firefox, Chrome, Safari, Opera), Technologien (.NET, C, Java, JSP, HTML, Flash, Silverlight), Versionen ... irgendetwas das benötigt wird, wird immer nicht unterstützt. Je aktueller oder je älter die Software bzw. Technologien, umso weniger.

Oft findet man einen guten Kompromiss, je weiter man aber in den Randbereichen arbeitet, umso weniger findet man geeignete Werkzeuge.

Vor kurzem ist mir jedoch eggPlant von TestPlant, einer Londoner Firma, vorgestellt worden. Nach einem kurzen Telefonat mit dem Support, konnte ich eine Testlizenz bekommen. Das besondere an eggPlant ist, dass eggPlant technologieunabhängig arbeitet. Alles was es für das Testsystem voraussetzt ist ein beliebiger VNC-Server und eine Oberfläche.

Nach der Installation von eggPlant kann man mehrere VNC-Verbindungen verwalten. In einem extra Fenster ist die Oberfläche des Testsystems sichtbar, dort kann man nun bekannte Funktionen wie einen Klick, Rechtsklick, Tastatureingaben etc. aufzeichnen. eggPlant erstellt daraus in einem einfachen Editor und der Skriptsprache SenseTalk ein Skript.
Basis der Testautomation ist die grafische Erkennung und Validierung von bestimmten Bereichen. Dazu werden Bereiche auf der VNC-Oberfläche selektiert, als Bilder gespeichert und mit einer Funktion verbunden. Neben einer Aktion, können so auch Positionen bestimmt und berechnet oder einfach das vorhanden sein von bestimmten Bildern erkannt werden.

Die Bilderkennung ist dabei recht ausgereift. Verschiedene Varianten ermöglichen die Erkennung von ähnlichen, verzerrten Bildern oder per OCR die Erkennung von Text. Sollte die verwendete Variante ein Bild nicht sofort erkennen, kann man mittels des Image Doctor und anhand von Suchergebnissen die Parameter ändern oder eine anderer Variante auswählen.
Wenn alles nichts hilft, können auch Image Collections angelegt werden. Dies bedeutet, das mindestens ein Bild in einem kompletten Ordner erkannt werden muss.

Natürlich entsteht somit eine riesige Bibliothek von Bildern, die verwaltet werden wollen. Man sollte sich deshalb über Anordnung und Namenskonventionen wohl am meisten Gedanken machen, denn etwas später wird man nur noch wenig mit der VNC-Oberfläche und mehr mit dem Skripteditor und der bereits vorhandenen Bilderbibliothek arbeiten.

Die entstehenden Skripte können modular aufgebaut werden, sich gegenseitig mit Parameter aufrufen, mit einem Debugger analysiert oder zu Testsuiten gruppiert werden. Über einen Scheduler können Abhängigkeiten definiert oder Skripte parallel auf unterschiedlichen Testsystemen aufgerufen werden.

Das Testergebnis wird in Form der Skriptausgabe für jede aufgerufenen Funktion und Log-Einträgen geliefert.


Viel zu lesen gibt es für Anwender nicht. Es gibt lediglich ein paar Tutorials, Referenzen und ein Forum. Bei Fragen hilft aber bestimmt auch gerne der englische Support weiter.
Über eggPlant: http://docs.testplant.com/?q=content/eggplant-reference
Über SenseTalk: http://docs.testplant.com/?q=content/sensetalk-reference

Mehr Infos unter: http://www.testplant.com/products/eggplant/

 

Ergänzung: Inzwischen sind die Lizenzen doch recht teuer geworden. Eine kostengünstigere Alternative stellt deswegen vielleicht das OpenSOurce Projekt SikuliX dar.

Geschrieben von Robert Bullinger

Veröffentlicht in #Testautomatisierung

Kommentiere diesen Post