Home > Allgemeines, Open Source, Web 2.0 > Selenium: Test von Web-Applikationen

Selenium: Test von Web-Applikationen

Welcher Entwickler kennt das nicht : Endlose langweilige manuelle Tests, auch wenn man mal gerade nur ne Kleinigkeit geändert hat.

Testen ist ein Hauptbestandteil der Entwicklungsarbeit und nimmt eine Unmenge von Zeit in Anspruch.  Wenn man dann mal wochenlang gearbeitet hat und bis zum Erbrechen immer wieder die gleichen Tests durchgeführt hat, wird man leicht schlampig und die Qualität leidet darunter. Das darf nicht sein !

Oder ein anderes Szenario, das auch nicht ungewöhnlich und gerade bei einem aktuellen Projekt ein Thema ist:  Es gibt einen umfangreichen Registrationsprozeß für die Nutzer. Allgemeine Daten wie Adresse etc., technische Daten, sonstige Daten. In unserem Fall eine 5-stufige Abfolge von Formularen um die notwendigen Daten abzufragen. Auch hier muss man ständig testen ;-). Wer 50x diese Formulare ausgefüllt hat, wird dir die Füße küssen, wenn Du ihm eine Automatisierungsmöglichkeit bietest !

Für diese beiden Fälle (und eine Menge anderer, die im Laufe der Zeit auftauchen werden), gibt es eine sehr elegante und mächtige Lösung:

Das Open-Source Test-Framework Selenium IDE

Was ist Selenium ?

Zitat von ihrer Webseite:

Selenium automates browsers. That’s it. What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.

Was heißt das genau ?

Nun Selenium ist ein unglaublich mächtiges Tool, mit dem man die ganze Welt der Tests von Web-Applikationen abbilden kann.  Der Einsteig ist jedoch sehr einfach, schnell und schmerzfrei :-).

Es ist erhältlich für alle Browser, Betriebssystems, Sprachen und durch eine Menge von PlugIns erweiterbar.

Ich möchte hier nur einen Einstieg geben, mit dem man schon eine ganze Menge erreichen kann und sofort Arbeit, Geld und Nerven spart.

Selenium IDE ist zuerst mal ein Browser-Plugin. Ich verwende Firefox, also lade ich mir das Plugin einfach runter und installiere es mit einem Klick: Selenium IDE Download-Seite

Ja und danach habe ich einen Menüpunkt „Selenium IDE“ in meinen Extras-Firefox-Menü:

Klickt man da drauf, bekommt man ein an externes Formular um eine Abfolge von Aktionen im Browser wie mit einem Recorder aufzuzeichnen:

Ja und dann tut man in seiner Web-Applikation, was man tun muß 😉 …

Alle Aktionen und Eingaben werden in einer einfachen Script-Sprache mitgeschrieben. Ebenfalls werden alle Änderungen auf der Browser-Seite mitnotiert.

Ist man dann fertig, kann man die „Aufnahme“ einfach abspielen und dem „Film“ zuschauen :-). Abweichungen werden als rote Warnungen ausgegeben und man kann sofort sehen, wo sich die Abfolge geändert hat.

Diese Aufnahme-Scripts lassen sich auch einfach ändern, abspeichern und auch exportieren:

Also wenn das nicht einfach ist, dann weiß ich nicht 😉 …

Und das war die spontane Reaktion eines meiner Entwickler, als ich ihn auf das Tool hingewiesen habe 😉 :

Ist ein super Teil, ich mache gerade meine 1. Aufzeichnungs- und Abspielversuche. Bislang echt cool…

Also einfach mal ausprobieren und Zeit und Nerven sparen.

Wer höhere Anforderungen an ein Test-Framework hat, soll einfach mal tiefer graben. Ich bin sicher es gibt für wirklich alles eine Lösung.

  1. 7. September 2011, 09:04 | #1

    Ist es nicht aufwendig, bei jedem Test „zuschauen“ zu müssen um ggf. Fehlreaktionen zu registrieren? Wäre es nicht vorteilhafter, wenn der erste „händische“ Test aufgezeichnet wird (inklusive der System-Reaktionen als SOLL-Stand) und dannach beim Abspielen-lassen automatisch ein IST-SOLL-Vergleich stattfindet? Habt ihr in dieser Art uns Weise etwas ausprobiert/überlegt?

    • 7. September 2011, 09:55 | #2

      Hi Ralf,

      das Tool arbeitet doch genau so.

      Da habe ich mich wohl sehr missverständlich ausgedrückt, wenn diese Tatsache nicht zum Ausdruck kam.

      Beste Grüße

      Toni

  2. 7. September 2011, 09:15 | #3

    Habe mir das Plugin runtergeladen und vermisse die Export-Formate Perl und PHP. Wie bekommt man die?

    • 7. September 2011, 10:03 | #4

      Hi Ralf,

      Du hast recht. Die fehlen in der neuen Version (1.2.0, August 2011).

      Das steht in den Release Notes:

      This also means that Se-IDE is officially deprecating inclusion of the Groovy, Perl and PHP format plugins in the main release bundle. It would be outstanding if the community around those languages picks up their development and maintenance. Read more about the WebDriver exporters on Samit’s blog.

      Kann im Moment auch nicht sagen, ob und wie man die Plugins jetzt bekommt.

      Beste Grüße

      Toni

  3. 9. September 2011, 10:53 | #5

    Hi Toni,
    … noch ne Anmerkung: hilfreich wäre, wenn man für jeden Testlauf das Logfile abspeichern könnte. Bie vielen Läufen (z.B. 2 bis 3-stellige Anzahl über Nacht) könnten dann automatisiert (via Scripts) festgestellt werden, welche gut und welche weniger gut durchgelaufen sind. Habt ihr da eine Idee?
    Grüße, Ralf

  1. Bisher keine Trackbacks