Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2006  »  10  »  Browser ferngesteuert  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

Gültig nur mit Klammeraffe

Die Methode »type()« simuliert einen tippenden Benutzer und nimmt als Argumente den Namen des »<INPUT>«-Felds eines HTML-Formulars sowie den Eingabetext entgegen. Im ersten Testfall füllt WWW::Selenium in Zeile 21 den String »abcde« ins E-Mail-Feld. Dies erkennt das Skript am Wert des »name«-Attributs, in diesem Fall »from«. Die anschließend aufgerufene Methode »click()« mit dem Namen des Submit-Buttons als Argument - er heißt im Beispielformular »send« - simuliert einen Klick auf diesen Schaltknopf.

Da der Adressen-String in diesem Fall weder ein »@«-Zeichen noch einen Punkt enthält, handelt es sich bei der Eingabe eindeutig um eine ungültige E-Mail-Adresse, die Webseite zeigt deshalb als Antwort nur den Warndialog. Die Methode »get_alert()« verwertet diese Ausgabe in Zeile 24 und liefert den Fehlertext zurück. Zu Testzwecken gibt »emailcheck« den gefundenen Textstring auf dem Bildschirm aus. Abbildung 2 zeigt die vollständige Debug-Ausgabe des Skripts.


Abbildung 2: Das Testskript »emailcheck« steuert über Selenium einen Firefox-Browser. Es simuliert die Eingabe einer ungültigen E-Mail-Adresse und gibt die Antwort des Webservers aus.

Im zweiten Testfall ab Zeile 27 gibt der Simulator den String »abcde@foo.com« ins E-Mail-Feld ein, also eine syntaktisch korrekte Adresse. Nach dem »click()«-Aufruf wartet der Simulator mit »wait_for_page_to_load()« bis zu 50 Sekunden (50000 Millisekunden), bis sich die aus dem Klick auf den Button resultierende Seite aufgebaut hat. »get_body_text()« nimmt dann das Ergebnis entgegen und gibt den String aus. Am Ende schließt »stop()« den anfangs mit »start()« geöffneten Browser wieder.

Regressionstests mit System

Da Selenium-Skripte hauptsächlich zu Regressionstests dienen, steht mit Test::WWW::Selenium ein CPAN-Modul bereit, das den Selenium-Client um das in [4] besprochene Test Anything Protocol (TAP) erweitert. Skripte, die Ausgaben in diesem Format erzeugen, lassen sich mit Modulen wie dem ebenfalls im CPAN erhältlichen Test::Harness zu stetig wachsenden Regressionstest-Suiten zusammenfassen, die übersichtlich formatierte Ergebnisse liefern.

Test::WWW::Selenium erweitert die Klasse »WWW::Selenium« um eine Reihe von Befehlen, die wiederum Selenium-Kommandos ausgeben und prüfen, ob sie die erwartete Wirkung zeigen. An die Stelle von »open()« zum Laden einer Webseite tritt der Aufruf »open_ok()«. Im Erfolgsfall kommt gemäß dem TAP-Protokoll die Antwort »ok 1« zurück. Tritt ein Fehler auf, lautet der Ausgabewert »not ok 1«.

Bei den WWW::Selenium-Methoden für das Einholen von Seitendetails wie »get_body_text()« oder »get_title()« streicht der Programmierer das »get_« und hängt den Namen einer Prüfmethode aus dem Fundus von Test::More an. So prüft »title_is()« zum Beispiel, ob der von »get_title()« gelieferte Seitentitel auch exakt mit dem in » abgelegten String übereinstimmt. Das von »get_body_text()« abgeleitete »body_text_like()« gibt eine Erfolgsmeldung aus, falls der Seitentext dem in der Variablen » gespeicherten regulären Ausdruck entspricht.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Von Java zu Ajax Google Web Toolkit zum Erstellen dynamischer Webapplikationen
Fernsteuerung Modernes Desktop-Sharing
Browser-Turbo Mehr Dynamik für Webseiten dank Ajax
Wer A sagt, darf nicht B sagen Frage-Antwort-System fürs Web
Dunkle Wolken Was Neatx kann und was Google damit vorhat
Preise, Patente, Perl Oscon 2006 in Portland, Oregon
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)

Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Usage Landscape Enterprise Open Source Data Integration

Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.

Download PDF (Registrierung erforderlich)
Kommentare (0)