GeckoDriver exception при запуске Firefox | GeckoDriver exception while launching Firefox

Здравствуйте, друзья, с версиями Selenium Webdriver после выпуска Selenium 3.0 вы, возможно, столкнулись с проблемой исключения недопустимого состояния при запуске браузера Firefox. В этом руководстве мы представим решение для этого исключения, а также его первопричину.

Решение на самом деле очень простое и выполняется в несколько шагов. Но новички часто не понимают, куда копать при разборе этой проблемы.

Подробности исключения


Exception в потоке “main” java.lang.Исключение IllegalStateException: путь к исполняемому файлу драйвера должен быть задан системным свойством webdriver.gecko.driver; для получения дополнительной информации см. https://github.com/mozilla/geckodriver . Последнюю версию можно загрузить с https://github.com/mozilla/geckodriver/releases

Exception in thread “main” java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases

Вот так ошибка выглядит в оригинальном сообщении

Шаги по воспроизведению


Запустите браузер Firefox с версиями Selenium 3.0 и выше напрямую, не задавая путь “webdriver.gecko.driver”.

WebDriver driver = new FirefoxDriver();

Решение проблемы

  1. Скачиваем geckodriver.exe с GeckoDriver Github Release Page. Не устану повторять, что качать надо версию, совместимую с вашей версией ОС
  2. Установите System Property для “webdriver.gecko.driver” с адресом geckodriver.exe path.
  3. System.setProperty(“webdriver.gecko.driver”,”geckodriver.exe path”); (делаем по аналогии, как мы делали при настройке chromedriver.exe).

Пример кода

System.setProperty("webdriver.gecko.driver", pathToGeckoDriver + "\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();

Exception Detail

Exception in thread “main” java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases

Steps to reproduce

Launch the Firefox browser with Selenium 3.0 and above versions directly without setting “webdriver.gecko.driver” path.

WebDriver driver = new FirefoxDriver();

Resolution

  1. Download geckodriver.exe from GeckoDriver Github Release Page. Make sure to download the right driver file based on your platform and OS version.
  2. Set the System Property for “webdriver.gecko.driver” with the geckodriver.exe path.
  3. System.setProperty(“webdriver.gecko.driver”,”geckodriver.exe path”); (This is similar to the way we use to set system property for chromedriver.exe).

Code Snippet

System.setProperty("webdriver.gecko.driver", pathToGeckoDriver + "\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();

От QA genius

Adblock
detector