有没有办法从测试中捕获Java函数中的硒异常

时间:2019-06-16 12:11:06

标签: java selenium

断言未显示元素会引发调用者块中未捕获的异常和异常

我使用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错误处理上缺少什么?

0 个答案:

没有答案