Facebook
Twitter
Google+
Kommentare
17

Selenium – Grundkurs

Ich habe ja schon häufig über Selenium geredet, so wirklich erklärt, was dieses Tool aber ist, habe ich glaube ich noch nicht gemacht. Deswegen heute mal eine ganz kurze Einführung, was Selenium eigentlich ist und wofür man es verwenden kann.

big-logoTja wofür kann ich Selenium nutzen? Prinzipiell geht es hier um funktionale Tests, die im Browser ausgeführt werden. Wir zeichnen also eine Userstory mit den gegebenen Werkzeugen auf, um sie danach automatisiert wieder einzuspielen und zu schauen, ob sie immer noch so funktionieren, wie davor.

Ein einfaches Beispiel wäre hier die Prüfung auf Funktionstüchtigkeit eines Login Mechanismus. Wie würde ich da vorgehen? Nehmen wir doch einfach mal eine gewöhnliche Seite. Im ersten Schritt prüfe ich, ob das Username und Passwort Feld existiert. Wenn ja, dann schreibe dort Username und Passwort rein (scharfsinnig, oder?). Wenn ich dann eingelogt bin, sollte dort ein Logout-Button stehen und kein Username und Passwort Feld mehr. Zum Schluss logge (schreibt man das so?)  ich mich wieder aus und prüfe nochmal ob die gewünschten Felder wieder vorhanden sind.

So könnte eine klassische Userstory aussehen. Will ich jetzt einen funktionalen Test dazu schreiben, dann installiere ich mir erst mal das Selenium IDE Plugin für den Firefox.

selenium-ide

So Screenshot geklaut, damit ihr mal sehen könnt, wie das aussieht. Hier könnt ihr euch mit ganz einfachen Mitteln eure Story zusammenklicken (nach der Installation einfach mal mit Rechts auf ein HTML Element klicken) oder einfach aufzeichnen lassen, was ihr so macht. Drückt ihr danach auf die Play Taste, dann wird alles abgespielt, was ihr so aufgezeichnet habt.

Wenn ihr damit fertig seid, dann habt ihr schon den ersten und wichtigsten Schritt in Richtung Automatisierung gemacht. Ich hatte euch ja versprochen, dass dies wirklich nur ein erstes Grundkust sein sollte. Themen, die man noch angehen könnte, wären:

  • Automatisierung mit PHPUnit
  • Was sollte ich testen und was nicht?
  • Was kann ich testen?
  • Wie funktioniert Selenium eigentlich, läuft ja schließlich in „allen“ Browsern und „allen“ Betriebssystemem?
  • Warum ist doch nicht alles Gold was glänzt?
  • Wie kann mir ein stabiles Wireframe helfen, meine Tests zu verbessern?
  • Welche anderen Bestandteile hat Selenium? Grid, RC, …

Sooooo … jetzt könnt ihr euch einfach was aussuchen, über das ich philosophieren soll und dann schreibe ich nächste Woche was drüber. Falls euch das alles langweilt, dann bekommt ihr einfach was anderes serviert. Vielleicht aber auch nicht, denn wir leben hier ja in einer Monarchie.

Ach ja, das sollte übrigens wirklich nur ein winziger Ausblick sein. Ich wollte nur in ein zwei Sätzen erklären, was Selenium ist. Für die ausführliche Beschreibung nehme ich mir dann mal mehr Zeit, denn das Tool ist zu interessant, um es mal eben so zu beschreiben.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

17 Comments

  1. Klasse Ideen. Selenium hab ich mir erst vor einiger Zeit angesehen, nachdem du ja schon vorher immer wieder davon geschrieben hast. Aktiv eingesetzt hab ich es aber noch nicht. Also der Grundkurs ist sehr willkommen!

    Viele Grüße
    Tobi

    Reply
  2. Habe Selenium bisher noch nicht im Einsatz und freue mich über jede weitere Information. Von mir aus kannst du alle Themen der Reihe nach abarbeiten :) Installiert habe ich es jetzt schon mal und werde damit mal ein wenig rumspielen.

    Reply
  3. Ja Selenium ist ein spannendes Thema. Ich setzte es seit geraumer Zeit wie im 1. Teil beschrieben ein. Eine Fortführung des Kurses mit Frage 1 insbesondere die Fernsteuerung des IE (ist im Enterprise Umfeld leider immer noch DER Browser) über den Selenium-Server und PHPUnit wäre toll. Mein Vorschlag wäre noch auf das Selenium Plugin von NB einzugehen.

    Reply
  4. Ich habe Selenium schon seit ein paar Monaten auf installiert allerdings habe ich es noch nie wirklich eingesetzt. Zum einen fehlt mir die Zeit mich damit auseinander zusetzten zum anderen habe ich noch nicht richtig verstanden was ich testen sollte und was nicht deswegen würde mich Frage 2 und Frage 5 am meisten interessieren.

    Reply
  5. Interessant wäre:
    – Automatisierung mit PHPUnit
    – Wir funktioniert Selenium eigentlich, läuft ja schließlich in “allen” Browsern und “allen” Betriebssystemem?

    Reply
  6. Ja das Tool ist schon Klasse.
    Neben phpUnit vielleicht auch noch auf die Nutzung von Javascript und den damit verbundenen Grenzen eingehen.
    Und es gibt auch Alternativen, die es sich vielleicht lohnt zu analysieren, auch wenn ich der Meinung bin Selenium ist momentan das mit Abstand beste Tool fuer functional web-testing.

    Reply
  7. Ich hätte gern eine nähere Erläuterung der Fragen
    – Automatisierung mit PHPUnit und
    – Welche anderen Bestandteile hat Selenium? Grid, RC, …

    :)

    Reply
  8. Ich habe keinen eigenen Block, jedoch kann ich der Vielfalt halber gern für den ein oder anderen Punkt einen Artikel schreiben. Automatisierung mit PHPUnit war vor kurzem mein Gebiet.

    Reply
  9. Moin Ragtek, meld dich gern mal per E-Mail oder ICQ 126495695 mit dem Problem zum Selenium RC, vll kann ich dir weiterhelfen.

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen