Информация о драйвере: driver.version: unknown (Behat \ Mink \ Exception \ DriverException) ошибка с Selenium и Geckodriver - PullRequest
0 голосов
/ 29 мая 2020

Вот ситуация: я использую Behat для проведения приемочных тестов на Symfony. Для этого я запускаю экземпляр Selenium с помощью Geckodriver, затем запускаю Behat. Все работает нормально на локальном (отлично!).

Но когда он запускается на Github action, он терпит неудачу. Я проверял версии, я даже создавал версии файлов geckodriver и selenium.jar, чтобы использовать их точно так же (несмотря на то, что они уже существуют в действии github), но ничего не работает.

Итак, я ищу любая помощь для отладки этой ошибки. Вот команды и их результаты:

$ java -jar -Dwebdriver.gecko.driver=/usr/local/share/gecko_driver /usr/share/java/selenium-server-standalone.jar &

14:19:46.106 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
14:19:46.369 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server on port 4444
2020-05-29 14:19:46.780:INFO::main: Logging initialized @1350ms to org.seleniumhq.jetty9.util.log.StdErrLog
14:19:47.657 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
14:19:47.758 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
./vendor/bin/behat -s acceptance

Could not open connection: Unable to create new service: GeckoDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'fv-az33', ip: '10.1.0.4', os.name: 'Linux', os.arch: 'amd64', os.version: '5.3.0-1022-azure', java.version: '1.8.0_252'
Driver info: driver.version: unknown (Behat\Mink\Exception\DriverException)

Ответы [ 2 ]

0 голосов
/ 03 июня 2020

Хорошо, я только что решил свою проблему. Я думаю, это связано с двумя причинами:

  • Во-первых, я не использовал безголовый режим. Я не знаю, как установить его с помощью Geckodriver, потому что я наконец использую Chromedriver
  • Во-вторых, действие github do c вводит в заблуждение. Он говорит: «Chrome Драйвер доступен через переменную среды CHROMEWEBDRIVER», но на самом деле это только каталог, который находится в env var. Таким образом, путь к драйверу $CHROMEWEBDRIVER/chromedriver (то же самое для $ GECKOWEBDRIVER)

Для информации, вот моя конфигурация behat:

javascript_session:
  selenium2:
  browser: chrome
  capabilities:
    chrome:
      switches:
        - "--headless"
        - "--disable-gpu"

И для запуска Selenium :

java -Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver -jar $SELENIUM_JAR_PATH &
0 голосов
/ 30 мая 2020

Это сообщение об ошибке ...

Driver info: driver.version: unknown (Behat\Mink\Exception\DriverException)

... означает, что GeckoDriver не был распознан Контекстом просмотра т.е. Firefox браузер.


Решение

Убедитесь, что:

  • JDK обновлен до текущих уровней JDK 8u251 .
  • Selenium обновлен до текущих уровней Версия 3.141.59 .
  • GeckoDriver is обновлен до уровня GeckoDriver v0.26.0 .
  • Firefox обновлен до текущего уровня Firefox v76.0 .
  • GeckoDriver присутствует в желаемом месте.
  • GeckoDriver имеет разрешение на выполнение для не- root пользователей.
  • Если ваша базовая версия веб-клиента слишком old, затем удалите его и установите последнюю версию GA и выпущенную версию Web Client .
  • Выполните Перезагрузку системы .
  • Выполните Test как не root пользователь.
  • Всегда вызывайте метод driver.quit() в tearDown(){}, чтобы корректно закрыть и уничтожить экземпляры WebDriver и Web Client .

Ссылка

Вы можете найти пару соответствующих обсуждений в:

...