Akzeptanztests für das GWT mit Hilfe von Selenium

Selenium ist ein Sammlung von Tools, mit deren Hilfe sich Akzeptanztests definieren lassen. Selenium IDE kann zum automatischen Aufzeichnen von Aktionen benutzt werden. Dabei wird SI als Plugin im Browser installiert.
So weit, so gut – ich wollte nun für unsere GWT-Applikation Selenium einsetzen, da das manuelle Testen einiges an Zeit in Anspruch nimmt.
Das Warten auf die Antwort der AJAX-Aufrufe löste ich pragmatisch durch pause(). Die User-Extension waitForCondition ignorierte ich für AJAX-Aufrufe erst einmal.

Für mich enstand nun folgendes Problem: die einzelnen Elemente der TreeView (com.google.gwt.user.client.ui.Tree) ließen sich nicht anklicken.

  • SI zeichnete die Clicks nicht auf. Der Grund dafür liegt darin, dass das onClick-Event nicht auf Layer oder Labels an den Browser gefeuert wird.
  • Über die ID (gwt-uid-…) konnte ich den Click (click -> id=gwt-uid-…) laut IDE zwar durchführen, im Browser passierte aber nichts.
  • Eine manuelle Festlegung der ID im GWT (treeItem.ensureDebugId(“element”)) führte zum selben Ergebnis: im Browser passierte rein gar nichts.

Als Fazit kann ich leider nur sagen, dass die Idee hinter Selenium zwar richtig gut ist. Allerdings funktioniert das Zusammenspiel zwischen GWT und Selenium für unsere Zwecke überhaupt nicht. Dementsprechend: Back to the roots und von Hand testen 🙁

Bei meiner Recherche nach möglichen Workarounds bin ich übrigens über CubicTest gestoßen. CubicTest ist ein Eclipse-Plugin mit denen sich Testfälle in der Eclipse-IDE visuell modellieren lassen. Die Tests könne danach unter anderem als Selenium-Tests exportiert werden.

Comment ( 1 )

  1. / ReplyBenjamin
    Als Alternative zum manuellen Testen könnten Sie natürlich auch unser Tool web2test nutzen. Es wird von unseren Kunden bisher unter anderem auch für GWT erfolgreich eingesetzt. (Ajax wird natürlich ebenfalls unterstützt) Wenn Sie sich gerne selber ein Bild davon machen wollen, finden Sie auf unserer Seite www.web2test.de eine kostenlose Evaluationsversion + Support.

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>