#java #xpath #try-catch
#java #xpath #попробуйте-catch
Вопрос:
У меня есть тестовый пример пользовательского интерфейса на Java, который идентифицирует userName
текстовое поле и вводит в него некоторое значение. Я пытаюсь реализовать блок try-catch, чтобы в случае сбоя блока try выполнялся блок catch. Но мой код вообще не выполняет блок catch.
Я попытался использовать консоль.войдите или подтвердите.сбой в блоке catch, чтобы увидеть, печатает ли он сообщение. Но выполнение не переходит к блоку catch, и браузер закрывается, как только блок try завершается неудачей.
try {
//retrieves Xpath of userName which is incorrect.
return browser.setValue(this.getSelector("login_userId_txtbox"), datatablevalue.userName);
} catch (er) {
//assert.fail("UserId xpath is incorrect", er);
return console.log("------>error in XPATH", er);
}
Фактический результат: блок catch никогда не выполняется.
Ожидаемый результат: если xpath не соответствует, он должен напечатать console.сообщение журнала в блоке catch.
Комментарии:
1. «Java» в вопросе, «Javascript» в тегах — что это?
2.
.setValue
есть ли метод в framework? вы передаете локатор и значение этому методу. И убедитесь, что вы делаете в этом методе.3. Да .setValue задает значение, которое передается из локатора. И что я хочу знать — если переданное значение неверно, и оно должно перейти в блок catch и напечатать сообщение консоли. Это фреймворк на основе JS.
Ответ №1:
Когда выражение XPath ничего не выбирает, оно возвращает пустой набор узлов. Это не ошибка, поэтому она не вызывает исключения. Это обычный результат, который вам нужно протестировать.