断言未显示元素会引发调用者块中未捕获的异常和异常
我使用webdriverextensions中的此功能来验证元素未显示assertIsNotDisplayed(driver().findElement ....)
这里的问题是,如果该方法找不到该元素,则抛出一个NoSuchElementException,它会忽略catch块。
public static boolean isDisplayed(WebElement webElement) {
try {
return webElement.isDisplayed();
} catch (NoSuchElementException e) {
return false;
}
}
public static void assertIsNotDisplayed(WebElement webElement) {
try {
if (isDisplayed(webElement)) {
throw new WebAssertionError(
"Element is displayed when it shouldn't", webElement);
}
} catch (final NoSuchElementException |
java.util.NoSuchElementException |
org.openqa.selenium.TimeoutException ignore) {}
}
在测试中使用此方法时,我收到了NoSuchElementException,但我希望catch块能够正常工作。
我在Java错误处理上缺少什么?