Wie teste ich Fehlerbedingungen in HTML5-Seiten mit Gurke?

Ich teste das Verhalten von Webanwendungen mit Cucumber (mit Selen und Watir unter der Haube). Meine Webanwendung verfügt über HTML5-Seiten und verwendet das neue Attribut "Erforderlich". Wenn ich ein Dateneingabeformular mit einem erforderlichen Feld habe und dieses Formular mit einem leeren Feld abschicke, möchte ich überprüfen, ob die Webanwendung korrekt mit einer Fehlerbedingung reagiert.

Leider ist beim Testen mit einem HTML5-Webbrowser die Fehlermeldung, die bei einer fehlgeschlagenen Feldüberprüfung angezeigt wird, für Cucumber nicht über den Webtreiber zugänglich. In jedem Fall wird das Formular nicht gesendet und die Seite verbleibt auf dem Dateneingabeformular.

Beim Testen ohne Kopf oder mit einem nicht HTML5-kompatiblen Browser wird das Formular möglicherweise gesendet, sodass meine Webanwendung den Fehler abfängt und den Benutzer mit einer Fehlermeldung zur Formularseite zurücksendet.

Im zweiten Fall kann ich problemlos überprüfen, ob die Fehlermeldung vorhanden ist, da sie Teil des auf der Seite bereitgestellten HTML-Codes ist. Mein Problem ist, dass ich nicht sehen kann, wie ein einzelnes Testszenario geschrieben wird, das die Fehlerbedingung sowohl für Headless- als auch für HTML5-Browsersituationen überprüft.

Möglicherweise ist dies mit den aktuellen Webtreibern von Selenium und Watir nicht möglich. Aber wenn jemand eine Idee hat, wie ich die HTML5-Fehlermeldung "Erforderlich" überprüfen kann, wäre das eine große Hilfe.

EDIT 2012-06-02:

Hier ist einBeispielseite mit einer Auswahl von HTML5-Browser-Warnungen.

Es gibt einen erforderlichen Text und eine Auswahl, ein Textfeld mit internem Hinweistext und ein Textfeld mit Validierung der Regex-Eingabe. Die Seite hat kein CSS oder Javascript, um das Problem zu verwechseln, es ist nur Vanille HTML5. Siehe diew3schools Seite über HTML5-Feldattribute für einen vollständigen Zusammenbruch. Das Formular wird an ein einfaches CGI-Skript übergeben, das nur die Formulareingabe wiedergibt, sofern das Formular erfolgreich ist. Ein Übermittlungsfehler verbleibt auf der Beispielformularseite.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage