SWTBot ( Standard Widget Toolkit Bot )
http://www.eclipse.org/swtbot
Eclipse Public License ( EPL )
SWTBot 2.0.0.595
Datum: 23.07.2010
Eclipse 3.6.0 und JUnit 4
28.07.2010
SWTBot ist ein Open-Source UI-Testtool für SWT,
Eclipse Plug-Ins und Eclipse RCP basierte Programmen. SWTBot basiert auf der Sprache Java.
Mithilfe dessen kann man Oberflächentest ( Blackbox-Tests ) durchführen. Bei der testausführung
wird eine zweite Instanz von Eclipse gestartet. Innerhalb dieser werden die Tests ausgeführt wie z.B. das
öffnen/schliessen von fenstern,erstellen von Projekten...
Nach beendingung wird diese Instanz wieder geschlossen. Es ist ebenfalls möglich den Test von der Kommandozeile aus zu führen.
Siehe hier
Dieses Tool ist mithilfe des
Installationsvideos
sehr einfach zu installieren. Für jemanden der SWT oder Eclipse Plug-Ins/RCP Programme entwickelt ist dieses tool als einstieg empfehlenswert,
da es keine lange Einarbeitungszeit benötigt und sehr leich zu erlernen ist. Die Einarbeitung lohnt sich ebenfalls für erfahren Tester,
da es sich um ein ausgereiftes und seriöses Tool handelt. Die Dokumentation ist auf englisch, doch gut zu lesen und verstehen.
Desweiteren gibt es einen User Guide inklusive FAQs und
Tutorials.
Es ist ein Eclipse Plug-In und kann überall da eingesetzt werden wo Eclipse eingesetzt werden kann.
SWTBot ist ein Eclipse Plug-In und benötigt JUnit in der Version 3 oder 4.
Voraussetzung: JUnit 3 oder 4
Alternativ zu dieser Installationsanleitung kann auch das Installationsvideo
genutzt werden.
"Help" -> "Install New Software"
Adden der Installationsseite
Hierzu muss man herausfinden welche Eclipse-Version man nutzt. Dies ist unter Help -> About Eclipse -> Eclipse.org Symbol -> Eclipse Platform zu finden.
Anschließend den passenden Link von SWTBot kopieren.
Auswahl der Software
Eclipse nach der Installation neu Starten.
Die Dokumentation ist auf Englisch, doch leicht zu verstehen.
Für den Schnelleinstieg gibt es eine Quick Start Anleitung.
Diese gewährt einen schnellen und einfachen Einblick in die Funktionalität von SWTBot.
Die Dokumentation findet man hier.
Diese enthält eine Main-Page ( mit Links, Kategorien und FAQs ),
eine Community ( Eclipse Community für SWTBot ) und weiteres.
Herunterladen z.B. als PDF-Datei kann man die Dokumentation leider nicht. Da müsste man schon die Web-Seite runterladen.
Die Projektseite von SWTBot wird in unregelmäßigen abständen gepflegt. An die Struktur muss man sich ein wenig gewöhnen.
Die Seite wurde das letzte mal am 26 Januar 2010 modifiziert. Deshalb ist die neue Eclipseversion 3.6 namens Helios noch nicht vertreten.
Die FAQ Seite beschäftigt sich mit den 16 häufigsten Fragen.
Desweiteren gibt es die bereits erwähnte Community.
Es ist möglich anfragen per E-Mail zu stellen, doch sollte man nicht jede x beliebige Frage per E-Mail loslassen.
Erst sollte man versuchen ob man diese Frage nicht selber klären kann indem man z.B. in die FAQs guckt.
Als nächstes sollte man in den Foren nach einer Lösung ausschau halten.
Erst wenn das nichts gebracht hat darf man eine Anfrage an esr@thyrsus.com
oder respond-auto@linuxmafia.com stellen.
Support-Anleitung
Mithilfe der Anleitungen ist es ein leichtes sich ein eigenes Bsp.-Testprogramm zu schreiben. Nachdem man dieses erstellt
hat fällt einem auf das man sich stets dem Menü entlang hangelt und ausführt.
Sobald man eine Test Klasse erstellt hat kann man diese mithilfe von SWTBot ausführen.
Nach dem Teststart werden alle Testfunktionen Sequenziell durchlaufen ohne dass der user einschreiten muss.
Man kann Test Cases auch zu einer Test Suite zusammenfassen. Dieses ermöglicht die Zusammenstellung von mehreren Testklassen.
Somit werden alle Klassen und deren Tests sequenziell durchlaufen. Das Ergebnis sieht man in der JUnit-View. Falls etwas schief läuft ist der balken rot.
Aus der JUnit-View kann man durch einem Doppelklick auf die fehlgeschlagene Methode zu der auslösenden Quellcodezeile gelangen.
Die Automatisierung des SWTBot-Frameworks mit Hilfe von Ant ist möglich. Zur Verdeutlichung des ganzen Ablaufs sei auf
diese Seite verwiesen. Der Ablauf gliedert sich in den folgenden Punkten:
Bei der Testausführung wird eine neue Instanz von Eclipse erstellt. Innerhalb dieser Instanz werden die Tests ausgeführt und am Ende der Tests geschlossen. Durch die Verwendung von JUnit können spezifische Reports (XML, Plain-Text...) erzeugt werden.
Da zum Untersuchungszeitpunkt der Fokus auf Maven 2.0 gelegt wurde, sei auf diese URL verwiesen. Auf dieser Seite wird ein kurzer Einstieg für die Verwendung von SWTBot mit Hilfe von Maven 3.0 erläutert.
Beschreibung
Hier möchte ich beschreiben was das Einführende Beispiel beinhaltet.
Es beginnt bei Null und beschreibt als erstes wie man ein Plug-In Projekt erstellt. Nach dem erstellen müssen die notwendigen
Plug-Ins hinzugefügt werden. Damit ist das Projekt vorbereitet und es kann mit der Testklasse begonnen werden.
Als Testklasse erstellt man ein JUnit Test Case. Nach der erstellung ist die Klasse noch ziehmlich leer.
Das Beispiel auf dem screenshot kannst du dir aus einer Textdatei kopieren.
Hierzu klicke auf das Bild oder siehe hier
Neues Plug-In Projekt erstellen
Add Dependencies
Hier werden die notwendigen Plug-Ins hinzugefügt.
- org.eclipse.swtbot.eclipse.finder
- org.eclipse.swtbot.junit4_x
- org.eclipse.swtbot.swt.finder
- org.junit4
- org.hamcrest
New Test Case
Nun kann die Testklasse erstellt werden. Hierzu erstellen wir eine Klasse vom Typ "JUnit -> Test Case".
Nachdem erstellen sieht die Klasse noch sehr leer aus. Ich habe hier ein erstes Beispiel vorbereitet.
Diesen Quellcode kannst du einfach in dein Test Case kopieren. Alternative kannst du auf das Bild mit dem Quellcode klicken.
Klicke auf das Bild um zu dem Quellcode zu gelangen.
Test Ausführen
Der Test ist soweit fertig und kann nun ausgeführt werden. Hierzu muss erst einmal die Run Configuration aufgerufen
werden und eine neue Testkonfiguration für SWTBot erstellt. Anschließend nur noch mit Run ausführen.
Zurück zur Werkzeugübersicht
Zurück zur KombiQu-Hauptseite
Zurück zur CSI-Hauptseite