Как проверить условия ошибки на страницах HTML5 с помощью огурца?

Я тестирую поведение веб-приложения с помощью Cucumber (используя Selenium и Watir под капотом). В моем веб-приложении есть страницы HTML5, и в нем используется новый обязательный атрибут. Если у меня есть форма ввода данных с обязательным полем, и я отправляю эту форму с пустым полем, я хотел бы убедиться, что веб-приложение правильно отвечает с условием ошибки.

К сожалению, при тестировании с использованием веб-браузера HTML5 сообщение об ошибке, которое появляется при неудачной проверке поля, оказывается недоступным для Cucumber через веб-драйвер. В любом случае форма не отправляется и страница остается на форме ввода данных.

С другой стороны, при тестировании в автономном режиме или в браузере, не совместимом с HTML5, форма может быть отправлена, что позволит моему веб-приложению перехватить ошибку и отправить пользователя обратно на страницу формы с сообщением об ошибке.

Во втором случае я могу легко проверить наличие сообщения об ошибке, поскольку оно является частью HTML-кода, поставляемого на странице. Моя проблема в том, что я не вижу, как написать один тестовый сценарий, который будет проверять условие ошибки как для безголовых, так и для браузеров HTML5.

Возможно, это невозможно с текущим состоянием веб-драйверов Selenium и Watir. Но если кто-нибудь знает, как я могу проверить всплывающее сообщение об ошибке HTML5 «требуется», это было бы большой помощью.

РЕДАКТИРОВАТЬ 2012-06-02:

Вот образец страницыс выборкой предупреждений браузера HTML5.

Имеется обязательный текст и выбор, текстовое поле с внутренним текстом подсказки и текстовое поле с проверкой ввода регулярным выражением. На странице нет никакого CSS или javascript, чтобы запутать проблему, это просто ванильный HTML5. Полную информацию см. на странице w3schools об атрибутах полей HTML5. Форма подчиняется простому сценарию CGI, который просто повторяет ввод формы, предполагая, что форма прошла успешно. Ошибка отправки останется на странице образца формы.

15
задан timiTao 23 March 2018 в 06:00
поделиться