java.lang.NoSuchMethodError: org.openqa.selenium.support.ui.WebDriverWait.until - PullRequest
0 голосов
/ 11 октября 2019

Произошла ошибка после автотестов java.lang.NoSuchMethodError:

org.openqa.selenium.support.ui.WebDriverWait.until(Lcom/google/common/base/Function;)Ljava/lang/Object;

Среда:

  • selenium-java-3
  • guava-25.0-jre
  • java 8
  • Google Chrome 77 версии
  • ChromeDriver 77.0.3865.40

Код:

WebDriverWait alertAwaiter = new WebDriverWait(webDriver, 2);
alertAwaiter.until(ExpectedConditions.alertIsPresent());

При второй строкеэтот код выполняется, java.lang.NoSuchMethodError происходит:

org.openqa.selenium.support.ui.WebDriverWait.until(Lcom/google/common/base/Function;)Ljava/lang/Object;

Невозможно изменить этот код, возможно ли что-то сделать с использованием других версий драйверов или каким-либо другим способом?

1 Ответ

0 голосов
/ 11 октября 2019

Вам нужно найти правильную версию библиотеки селена и поместить ее в путь к классам. Современные версии используют java.util.Function вместо com.google.common.base.Function, см. https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/FluentWait.html#until-java.util.function.Function-

Так что вам нужна довольно старая версия драйвера Selenium в пути к классам приложения, если вы не можете изменить исходный код.

Попробуйте понизиться до селена 3.0.1 или 2.x. Последняя версия 2.53.1 использует гуаву, а версия 3.0.1 кажется последней с использованием гуавы.

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