Selenium (Java): как найти сообщение проверки браузера? - PullRequest
0 голосов
/ 03 июля 2018

Я работаю с Selenium и Java для написания автоматических тестов. Мне дали задание проверить обязательные поля в формах. Идея состоит в том, что я пытаюсь отправить форму без заполнения обязательного поля и проверяю всплывающее сообщение. Если это там с сообщением, то это успех. Одна форма имеет несколько обязательных полей.

Проблема в том, что всплывающее сообщение - как мне сказали разработчики dev - является частью браузера и никак не связано с HTML-кодом, поэтому я не могу использовать findElement(By) как обычно. Также предупреждение не является отдельным окном, вы не можете щелкнуть по нему (потому что оно исчезает), это просто пузырь какого-то рода, который говорит: "Please fill out this field"

Как мне найти это сообщение с помощью Selenium (Java)?

1 Ответ

0 голосов
/ 03 июля 2018

Может быть две вещи.

Первый : я предполагаю input полей, которые содержат обязательный атрибут.

Примерно так: Username: <input type="text" name="usrname" required>

Если вы ничего не предоставите в этой input и нажмете submit button, вы получите это сообщение об ошибке: "Please fill out this field", которое является результатом HTML5 обязательный атрибут (Вы можете называть его первым уровнем проверки).

Вы можете перехватить это сообщение об исключении следующим образом:

String message = driver.findElement(By.name("usrname")).getAttribute("validationMessage");  

Если вы распечатаете сообщение String, вы получите это: Please fill out this field

Секунда : Может быть предупреждение о проверке Javascript, которое появляется при неправильном вводе пользователем. В таких случаях вам придется переключиться на предупреждение, а затем извлечь сообщение из определенного предупреждения.

Код, который вы можете попробовать в этом случае:

Alert alert = driver.switchTo().alert();
alert.getText();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...