Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

05.02.2009

Automatische Tests für Web-Applikationen

Manuelles Testen von Masken oder Funktionen ist bei Entwicklern nicht sonderlich beliebt. Mit dem richtigen Werkzeug ist es jedoch kein Problem mehr: Selenium ist ein Framework für Blackbox-Tests von Web-Applikationen. Die Firma Thoughtworks entwickelt Selenium und stellt es als freie Software unter der Apache-2.0-Lizenz zur Verfügung (http://seleniumhq.org).

Die Hauptkomponente von Selenium ist ein Firefox-Plug-in, das Testabläufe aufzeichnet, während man sich durch die Web-Anwendung klickt (capture replay). Es protokolliert alle Benutzeraktionen, also etwa Eingaben in Textfelder oder Klicks auf Buttons, Links oder Auswahllisten. Der Testablauf kann erweitert und erneut gestartet werden. Wie von Zauberhand navigiert der Browser durch die Anwendung.

Manuell ergänzt man diesen Ablauf um die Prüfungen, die den erwarteten Inhalt bestätigen: Meldet sich ein Benutzer auf der Login-Seite an und klickt den "Login"-Button, muss auf der Folgeseite der Text "Login erfolgreich" erscheinen. Geht die Prüfung schief, meldet Selenium den Fehler und bricht den Test ab.

Alternativ erzeugt die IDE direkt den Sourcecode mit Selenium-API-Aufrufen als Java-JUnit-Test. Dieser kann für spezielle Anforderungen erweitert oder in eine Continuous Integration aufgenommen werden. Hierfür bietet das Projekt weitere Softwareteile:

Selenium Core: ein API mit den grundlegenden Funktionen des Test-Frameworks;

Selenium Remote Control: ein Client-Test-Treiber zum Fernsteuern des Browsers.

Damit eine Applikation gut testbar ist, sollten die HTML-Steuerelemente während der Entwicklung eindeutige ID-Attribute erhalten. So sind diese für den Testfall zweifelsfrei identifizierbar.

Für Lasttests ist Selenium leider weniger gut geeignet. Hier bietet sich das ebenfalls freie "Apache JMeter" (http://jakarta.apache.org/jmeter) an.

(Heiko Spindler, Berater bei Opitz Consulting in Gummersbach)

CW-Fazit: Web-Entwickler können ihre Testläufe mit Selenium erheblich vereinfachen.