Тестирование на наличие атрибутов HTML5, которые отвечают за проверку, достаточно адекватно.На самом деле запуск проверки правильности в браузере - это не тестирование вашей работы (а тестирование самого браузера), что может быть неплохо, но, на мой взгляд, не нужно.
Однако абсолютно необходимо то, чтоу вас есть и проверяйте свою валидацию, которая у вас есть, когда проверка HTML5 недоступна (или обойдена).
Первая проблема заключается в том, что проверка HTML5 имеет приоритет и не позволяет вам проверить свою собственную проверку.Так как же подойти к этому?
Проверить наличие атрибутов проверки HTML5
Чтобы проверить, что он использовался, используйте assertAttribute
:
<tr>
<td>assertAttribute</td>
<td>id=myFieldId@required</td>
<td></td>
</tr>
Если вы используетеСинтаксис XML required="required"
, вам нужно будет подтвердить, что значение является «обязательным»:
<tr>
<td>assertAttribute</td>
<td>id=myFieldId@required</td>
<td>required</td>
</tr>
Проверка резервной проверки
JavaScript
Если проверка HTML5 препятствует вашей проверкеПроверка JavaScript от возврата ошибок. После того, как вы подтвердили наличие атрибутов проверки HMTL5, вы можете удалить атрибуты проверки HTML5, чтобы проверить запасную проверку JavaScript:
<tr>
<td>runScript</td>
<td>document.getElementById('myFieldId').removeAttribute('required')</td>
<td></td>
</tr>
Теперь вы можете проверить проверку JavaScript.Чтобы удалить проверку электронной почты, вам нужно установить для атрибута type
поля значение text
:
<tr>
<td>runScript</td>
<td>document.getElementById('myFieldId').setAttribute('type','text')</td>
<td></td>
</tr>
Проверка проверки на стороне сервера
Даже при использовании проверки HTML5 и проверки JavaScript, если вы отправляете на сервер, вам нужно будет проверить, что ваш сервер также проверяет эти поля.
Вызов функции submit()
формы отправит форму без вызова проверки.Команда Selenium submit
делает то же самое:
<tr>
<td>submit</td>
<td>name=myFormName</td>
<td></td>
</tr>
Дождавшись загрузки следующей страницы, вы можете проверить наличие ожидаемых ошибок.