Como faço para testar condições de erro em páginas HTML5 com pepino?

Estou testando o comportamento de aplicativos da Web com o Pepino (usando Selenium e Watir sob o capô). Meu aplicativo da web tem páginas HTML5 e usa o novo atributo "obrigatório". Se eu tiver um formulário de entrada de dados com um campo obrigatório e eu enviar esse formulário com o campo em branco, gostaria de verificar se o aplicativo da Web responde corretamente com uma condição de erro.

Infelizmente, ao testar usando um navegador da Web HTML5, a mensagem de erro exibida em uma validação de campo com falha não parece estar acessível para o Cucumber por meio do driver da Web. Em qualquer caso, o formulário não é enviado e a página permanece no formulário de entrada de dados.

Por outro lado, ao testar sem cabeça ou com um navegador não compatível com HTML5, o formulário pode ser enviado, permitindo que meu aplicativo da Web capture o erro e envie o usuário de volta à página de formulário com uma mensagem de erro.

No segundo caso, posso testar facilmente a existência da mensagem de erro, já que faz parte do HTML fornecido na página. Meu problema é que não consigo ver como escrever um único cenário de teste que valide a condição de erro para as situações de navegador sem cabeçalho e HTML5.

Pode ser que isso seja impossível com o estado atual dos drivers da web Selenium e Watir. Mas se alguém tiver alguma ideia de como posso verificar a mensagem popup de erro "obrigatória" do HTML5, isso seria uma grande ajuda.

EDITAR 2012-06-02:

Aqui está umPágina de exemplo com uma amostragem de avisos do navegador HTML5.

Há um texto obrigatório e selecione uma caixa de texto mostrando o texto da dica interna e uma caixa de texto com a validação da entrada regex. A página não tem CSS ou javascript para confundir o problema, é apenas HTML5. Veja oPágina w3schools sobre atributos de campo HTML5 para um colapso completo. O formulário é submetido a um simples script CGI que ecoa a entrada do formulário, assumindo que o formulário é bem-sucedido. Uma falha de envio permanecerá na página de formulário de amostra.

questionAnswers(2)

yourAnswerToTheQuestion