• Selenium – Grundkurs

    von am 8. Oktober 2009

    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.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    17 Kommentare »


    • Ralf Eggert
      am 8. Oktober 2009 um 08:16 Uhr

      Oh mein König!

      Ich bin zuerst für die Fragen 2 und 3 und danach erst für Frage 1.

      Dein Untertänigster Diener


    • Tobi
      am 8. Oktober 2009 um 08:21 Uhr

      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


    • Alex B.
      am 8. Oktober 2009 um 08:58 Uhr

      Ja, Frage 2 und 3 würde mich auch sehr interessieren. Ruhig auch ausführlicher. ;)
      Freue mich schon auf die Artikel!


    • Sven
      am 8. Oktober 2009 um 09:01 Uhr

      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.


    • Thomas
      am 8. Oktober 2009 um 09:17 Uhr

      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.


    • Dennis Becker
      am 8. Oktober 2009 um 10:04 Uhr

      Ich stimme Ralf Eggert voll zu :)


    • JumpingPixel
      am 8. Oktober 2009 um 10:07 Uhr

      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.


    • rami
      am 8. Oktober 2009 um 14:56 Uhr

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


    • Martin
      am 9. Oktober 2009 um 03:45 Uhr

      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.


    • jowe
      am 9. Oktober 2009 um 18:42 Uhr

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

      :)


    • Mathias
      am 9. Oktober 2009 um 20:57 Uhr

      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.


    • Selenium – Was kann ich testen? | PHP hates me - Der PHP Blog
      am 12. Oktober 2009 um 07:05 Uhr

      [...] Selenium – Grundkurs [...]


    • Selenium, PHPUnit in Eclipse und Bilder der Blogosphäre - Selenium,phpUnit,PHP,Eclipse,Facebook,Wikio - Guido Mühlwitz
      am 15. Oktober 2009 um 19:26 Uhr

      [...] Selenium – Grundkurs Eigentlich ist die Idee von Selenium ganz einfach, man zeichnet eine sogenannte “Userstory” auf, um sie dann im Browser immer wieder automatisiert abspielen lassen zu können. Warum macht man das? Um zum Beispiel bei der Programmierung den auf mehreren Seiten verteilten Bestellvorgang in einem Online-Shop schnell durchprobieren zu können, ohne das man jedes mal die Bestellung manuell per Hand ausgeführt werden muss. [...]


    • Integration von Selenium in PHPUnit | PHP hates me - Der PHP Blog
      am 2. November 2009 um 07:01 Uhr

      [...] und in Unit-Testsuiten integriert werden. Eine Einführung zum ersten Punkt wurde im Artikel Selenium – Grundkurs gegeben. Dieser Artikel beschäftigt sich damit, wie man Oberflächentests und Unit-Test zusammen [...]


    • ragtek
      am 25. August 2010 um 11:16 Uhr

      Hat hier schon jemand erfahrung mit Selenium RC ??
      Ich kann das einfach nicht zum laufen bekommen :(


    • Mathias Methner
      am 25. August 2010 um 11:22 Uhr

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


    • ragtek
      am 25. August 2010 um 12:10 Uhr

      Danke für das Angebot.
      Momentan läuft es, war ein Problem mit PHPUnit :(

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.