Am Wochenende bin ich zufällig auf das Selenium IDE Firefox Addon gestoßen. Ich hatte bereits in der Vergangenheit von Selenium und seiner unkonventionellen Funktionsweise gehört, doch nun musste es Testen. Ich gebe zu: das Firefox klicki bunti Plugin mach an
.
Bild der Selenium IDE:

Selenium ist ein Acceptance Testing Framework für Webanwendungen. Die Revolutionäre Idee daran ist das nicht wie bei den Üblichen Test-Frameworks ein Proxy zwischen Client und Server geschalten wird, der dann nur stur die Aufgenommenen Requests abspult, sondern der Browser selbst spielt den Test ab.
Der Vorteil liegt auf der Hand: Erstmals ist es möglich die Anwendung einschließlich Client vollständig zu testen. Javascripts / AJAX und jegliches Client Verhalten lässt sich mit testen. Einfach genial. Ich persönlich hätte nie geglaubt das man irgendwann vernünftige Webclient-Tests mit erträglichen Aufwenden realisieren kann.
Und das beste ist es funktioniert erstaunlich gut. In wenigen Minuten hatte ich mein erstes Testcase mittels der Selenium IDE erstellt. Prüfungen lassen sich intuitiv per Markierung und dem Command „verifyTextPresent“ dem Test hinzufügen.
Was für mich nach dem ganzen geklicke noch wichtig war ist die Test Automatisierung. Hierfür gibts Selenium RC (Remote Control), eine Art Server der die aufgezeichneten Tests in einem Browser automatisiert abspielen lässt. Fernbedient wird das ganze dann wahlweise durch die JUnit Tests die durch Senenium IDE generiert wurden. Ach hier muss man sagen es funktioniert wenngleich die Release Version 0.9.0 nicht zu den JUnit Tests passte. Mit 0.9.1-SNAPSHOT hat dann jedoch alles funktioniert.
Ein bisschen Ärger hatte ich noch mit SSL und Selenium RC aber die getestete Anwendung war auch kein „Hello World“ Beispiel. Mit SSL basierten Webanwendungen die Ihre Ressourcen von einem Server beziehen sollte es kein Problem geben.
Somit bleibt mir nur zu sagen: Check it Out!
Sobald ich die ersten Projekterfahrungen habe werde ich wieder Berichten.

