我想查看错误消息。仅当我的网站遇到问题时才会显示这些错误消息。
我的问题是我使用findElement
来检查错误消息。所以当出现问题时,Selenium会发现它,而且一切都是O.K.
但是当它没有(意思是 - 我的网站是O.K没有问题) - 然后Selenium表明它没有找到该元素,并引发异常。
有什么想法吗?
答案 0 :(得分:1)
你可以在try-catch块中包围findElement,如果找不到该元素,它将不执行任何操作。 e.g。
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
//or do nothing
}
}
答案 1 :(得分:0)
看一下答案Selenium Webdriver NoSuchElementException
它表明了以下内容(我已根据您的需求对其进行了调整):
List<WebElement> errorElements = driver.findElements(By.id("ERROR_ID"));
if (!errorElements.empty()) {
// Tests your errors
}
答案 2 :(得分:0)
1.为此,您应该以这样的方式设计测试用例,即只有在确定收到错误消息时才编写代码来检查错误消息。
2.但问题是,当你知道没有问题并且代码运行正常时,你为什么要检查错误信息。
3.如果您不知道将发生错误..您可以将有风险的代码放在try块中并编写一个catch块,它将找到错误消息并进行检查。