Automatisches und mehrfaches submitten von Formularen
Geschrieben von skaldrom am 30. July 2008
Wirre Gedanken
Dieser Beitrag ist dem Titz gewidmet. Dem Titz, der sich aufgeregt hat
, obwohl es gar nicht nötig gewesen wäre und der sich nun mit einer gewissen Teilnehmerredundanz anfreunden muss. Hauptsache ist doch, das PHP fliesst und die Variablen bleiben sauber… Und ein Bierchen würde ich auch noch springen lassen
…
Eine wichtige Frage zu Beginn: Wieso sollten wir denn automatisch und mehrfach Formulare submitten wollen? Hmm, um den Titz zu ärgern? Weil wir es können? Weil man manchmal tun muss, was man tun muss? Weil man seine 84 Kinder an einem elektronischen Fussballturnier anmelden will
(hat eigentlich schon jemand bemerkt, dass ich neue Smilies und unglaublich Freude daran habe?)? Oder weil man über einen Wettbewerb gestolpert ist, der ebendies nicht verbietet (also das Mehrfachsubmitten, nicht das Kinderanmelden oder die neuen Smilies) und der kein Captcha hat (vielleicht, weil es der Titz vergessen hat)?
Nachtrag 31.07.2008: Schenken mir doch so unglaublich nette Mitarbeiter einer Versicherung heute morgen am Bahnhof einen Müsliriegel. Und auf diesem eher gesunden Teil hat es, ja rate, oh wissbegieriges Volk, einen Wettbewerb. Ob der Titz wohl am Abend für eine andere Firma weitercoded? Ich werde mich auf jeden Fall während der Zugfahrt mal damit befassen
.
Vorgehen
Erster Schritt: Selenium IDE
Man könnte nun wie wild losprogrammieren, oder aber einen einfacheren Weg wählen. Ein guter Startpunkt für automatisiertes Browsen generell ist die Selenium IDE. Dieses geniale Teil für den Firefox zeichnet wie ein Macrorecorder alles auf, was im Browser gemacht wird. Hat man die Teilnahme beim Wettbewerb einmal so aufgezeichnet, so müssen nur noch die click’s, die das Form absenden, durch clickAndWait’s ersetzt werden, damit vor dem Weiterausfüllen (bei mehrseitigen Formularen) auf die neue Seite gewartet wird. Es empfiehlt sich, eine Abschlussüberprüfung als letzten Schritt hinzuzufügen, um um kontrollieren zu können, ob die Kinder erfolgreich angemeldet wurden (markieren des “Dankeblabla”, dann rechte Maustaste und assertTextPresent).
Diesen Testcase kann man nun abspeichern und eigentlich immer wieder ausführen. Ein Klick reicht und Firefox rasselt alles schön durch. Den Namen leicht verändern kann man durch Editieren des Skripts…
Für den zweiten Schritt sollte man das Testscript als PHP exportieren.
Zweiter Schritt: Selenium RC
Die Selenium RC Komponente kann den Browser fernsteuern und so ferngesteuert am Wettbewerb teilnehmen. Um sie unter Linux Debian zum Laufen zu kriegen, war ein Bisschen Gemurkse notwendig.
Lesen Sie den Rest dieses Beitrages »
Ähnliche Artikel
Eingeordnet in Theorie und Schnipsel | 2 Komentare »

Ich mag es sehr, Leute zu ängstigen. Früher, zu den Gothenzeiten, habe ich dafür ein ganzes Arsenal von Dingen gebraucht: Schminke, Linsen, künstliche Fingernägel, … Heute reicht meine Anwesenheit und mein Gesicht
Für eine Applikation, in der man Ressourcen reservieren kann, wollte ich ein Kalender mit verlinkbaren Tagen anzeigen (grad wie im 

Wenn man schon keine eigene Intelligenz besitzt, ist man froh, dass es sie auch in künstlicher Form gibt. Bis vor einiger Zeit wurde ziemlich proprietär rumgewurstelt, aber nun gibt es
Ja, uns wurde gelehrt, dass man wenn immer möglich nicht Dateinamen direkt, sondern eine Variable angeben soll, die für den Dateinamen steht. Warum konnte mir zwar noch niemand so genau sagen, aber ich nehme an, dass es darum geht, dass der Dateinamen oder der Pfad ändern könnte. So habe ich ziemlich oft ganz brav geschrieben:
Es gibt viele Sites, die online Tools für die Suchmaschinenoptimierung (SEO) anbieten. Es gibt Handverlesene Verzeichnisse von
XPath ist eine ziemlich geniale Sache. Es erlaubt die Formulierung von Ausdrücken, die in einer XML-Datei nach gewissen Dingen suchen. Dabei können einzelne, bestimmte oder alle Textinhalte eines Tags, Attributswerte und die Anzahl gesucht und gefunden werden, und das alles jeweils relativ oder absolut zum Root des XML-Dokuments. Die Möglichkeiten sind dabei ziemlich flexibel und es drängt sich ein Vergleich zu SQL auf.
In PHP gibt es verschiedene Implementierungen des
Widgets are little miniapplications which show data in a clearly arranged way or perform a more or less simple task for the user. Widgets are present on Windows Vista, Mac, iPhone and also in a webbased form for