У меня есть поле ввода, которое принимает числа. Мне нужно ввести числа и проверить, отображается ли сообщение об ошибке или нет. Сообщение об ошибке появляется при вводе неверного номера. Мне также нужно проверить, появляется ли сообщение об ошибке, когда я ввожу действительный номер, но получаю исключение NoSuchElementException. Приведенный ниже HTML-код показывает, что сообщение об ошибке не отображается.
<div class = "date text_feild_last">
<input type = "text" id = "seqNo" class = "form-control" name = "seq_num" value = "1" placeholder = "Enter Number" autocomplete = "off" data-orig = "921">
<div hidden id = "seq-num-error" class = "help-inline"></div>
</div>
Код HTML при отображении сообщения об ошибке показан ниже.
<div class = "date text_feild_last">
<input type = "text" id = "seqNo" class = "form-control" name = "seq_num" value = "1" placeholder = "Enter Number" autocomplete = "off" data-orig = "921">
<div hidden id = "seq-num-error" class = "help-inline" style = "display: block;">Please enter valid number</div>
</div>
Я использую xpath для поиска сообщения об ошибке: WebElemet errorMessage = driver.findElement(By.xpath("//div[contains(text(), 'Please enter valid number')]"));
Я проверяю, отображается ли элемент, а затем выполняю следующую операцию, но не могу выполнить следующую операцию, так как получаю исключение. Пожалуйста, помогите мне. Спасибо.




Таким образом, в основном сообщение об ошибке не будет отображаться в теге или на экране, если вы введете правильный номер. Selenium попытается найти его на экране и выдаст исключение.
Чтобы справиться с этим, окружите линию попыткой и уловом. Перехватите исключение и зарегистрируйте его как Pass для допустимых номеров или зарегистрируйте его как Fail для недопустимых номеров и продолжите работу с программой.
try {
WebElement errorMessage = driver.findElement(By.xpath("//div[contains(text(), 'Please enter valid number')]"));
} catch (NoSuchElementException e){
//Log the message and continue
Отвечает ли это на ваш вопрос? stackoverflow.com/questions/2646195/…