¿Cómo pruebo las condiciones de error en páginas HTML5 con pepino?

Estoy probando el comportamiento de las aplicaciones web con Cucumber (usando Selenium y Watir debajo del capó). Mi aplicación web tiene páginas HTML5 y hace uso del nuevo atributo "requerido". Si tengo un formulario de entrada de datos con un campo obligatorio y lo envío con el campo en blanco, me gustaría verificar que la aplicación web responda correctamente con una condición de error.

Desafortunadamente, al realizar pruebas con un navegador web HTML5, el mensaje de error que aparece en una validación de campo fallida no parece ser accesible para Cucumber a través del controlador web. En cualquier caso, el formulario no se envía y la página permanece en el formulario de entrada de datos.

Por otro lado, al realizar pruebas sin cabeza o con un navegador no compatible con HTML5, el formulario puede enviarse, lo que permite que mi aplicación web atrape el error y envíe al usuario de vuelta a la página del formulario con un mensaje de error.

En el segundo caso, puedo probar fácilmente la existencia del mensaje de error, ya que es parte del HTML entregado en la página. Mi problema es que no puedo ver cómo escribir un solo escenario de prueba que validará la condición de error para situaciones de navegador sin cabeza y HTML5.

Es posible que esto sea imposible con el estado actual de los controladores web de Selenium y Watir. Pero si alguien tiene alguna idea de cómo puedo verificar el mensaje emergente de error "requerido" de HTML5, sería una gran ayuda.

EDITAR 2012-06-02:

Aquí hay unPágina de Ejemplo con una muestra de las advertencias del navegador HTML5.

Se requiere un texto y selección, un cuadro de texto que muestra un texto de sugerencia interna y un cuadro de texto con validación de entrada de expresiones regulares. La página no tiene ningún CSS o javascript para confundir el problema, es simplemente HTML5 vainilla. Ver elPágina de w3schools sobre atributos de campo HTML5 para un desglose completo. El formulario se envía a un script CGI simple que simplemente refleja la entrada del formulario, asumiendo que el formulario sea correcto. Un error de envío permanecerá en la página del formulario de muestra.

Respuestas a la pregunta(2)

Su respuesta a la pregunta