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