Есть ли способ отловить исключение селена в функции Java из тестов - PullRequest
0 голосов
/ 16 июня 2019

Утверждение, что элемент не отображается, выбрасывает и исключение, которое не перехватывается в блоке вызывающего абонента

Я использую эту функцию из 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...