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.
Tja 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.
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.
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
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
Ja, Frage 2 und 3 würde mich auch sehr interessieren. Ruhig auch ausführlicher. 😉
Freue mich schon auf die Artikel!
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.
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.
Ich stimme Ralf Eggert voll zu 🙂
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.
Interessant wäre:
– Automatisierung mit PHPUnit
– Wir funktioniert Selenium eigentlich, läuft ja schließlich in “allen” Browsern und “allen” Betriebssystemem?
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.
Ich hätte gern eine nähere Erläuterung der Fragen
– Automatisierung mit PHPUnit und
– Welche anderen Bestandteile hat Selenium? Grid, RC, …
🙂
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.
Hat hier schon jemand erfahrung mit Selenium RC ??
Ich kann das einfach nicht zum laufen bekommen 🙁
Moin Ragtek, meld dich gern mal per E-Mail oder ICQ 126495695 mit dem Problem zum Selenium RC, vll kann ich dir weiterhelfen.
Danke für das Angebot.
Momentan läuft es, war ein Problem mit PHPUnit 🙁