Завантажити Geckodriver для Firefox & Selenium
⚡ Розумний підсумок
GeckoDriver для Firefox та Selenium діє як проксі-сервер між клієнтами W3C WebDriver та Mozilla Firefox, перекладаючи команди в MariПротокол onette. У цьому посібнику пояснюється встановлення, методи ініціалізації, приклади коду, поширені винятки та переваги сумісності з ядром.

Що таке GeckoDriver Selenium?
Термін Gecko розшифровується як движок веб-браузера, вбудований у Mozilla. Firefox браузер. GeckoDriver діє як проксі-сервер між клієнтами з підтримкою WebDriver (Eclipse, NetBeans, IntelliJ IDEAтощо) та Mozilla Firefox браузер. Коротше кажучи, GeckoDriver служить сполучною ланкою між Selenium Тести WebDriver та Mozilla Firefox.
Перш ніж Selenium 3, Мозіла Firefox браузер був браузером за умовчанням для Selenium. Після Selenium 3, тестувальники повинні ініціалізувати скрипт для використання Firefox явно через GeckoDriver. Selenium використовує протокол W3C WebDriver для надсилання запитів до GeckoDriver, який перетворює їх у протокол з назвою Mariонетт. Firefox потім розуміє команди transmitТед у Mariформат протоколу onette та виконує їх.
Перевага використання GeckoDriver
Selenium Версія WebDriver 2.53 несумісна з Mozilla Firefox версія 47.0+. Спадщина Firefox драйвер, який використовувався в попередніх версіях Mozilla Firefox Збірки було припинено, і сьогодні можна використовувати лише реалізацію GeckoDriver. Тому тестувальникам потрібно використовувати GeckoDriver для запуску автоматизованих тестів на Mozilla. Firefox версія 47.0 і вище.
Основна перевага використання GeckoDriver над застарілою версією Firefox водій є сумісністьGeckoDriver спирається на Протокол W3C WebDriver спілкуватися з SeleniumW3C – це універсально визначений стандарт для WebDriver. Це означає Selenium Розробникам не потрібно створювати нову версію драйвера для кожного випуску браузера. Одну й ту саму реалізацію WebDriver можна використовувати в кількох версіях браузера, тому GeckoDriver кращий за старішу версію. Firefox водій.
Як завантажити та встановити GeckoDriver в Selenium
GeckoDriver розповсюджується як виконуваний файл, який можна завантажити безпосередньо у вашу систему. Виконайте наведені нижче кроки, щоб завантажити та встановити GeckoDriver для Selenium автоматизація.
Крок 1) Виберіть відповідну версію.
На офіційній сторінці релізів https://github.com/mozilla/geckodriver/releases, виберіть відповідну збірку GeckoDriver, яка відповідає вашій операційній системі та архітектурі.
Крок 2) Extracт ZIP-файл.
Після завершення завантаження ZIP-файлу, наприкладtracскопіюйте його вміст у папку на вашому комп’ютері.
Крок 3) Зверніть увагу на місцезнаходження водія.
Запишіть шлях до папки, де виtracпідключив драйвер. Це місце буде використано пізніше для створення екземпляра драйвера з вашого тестового скрипта.
Способи ініціалізації GeckoDriver
Існує три різні способи ініціалізації GeckoDriver у вашому Selenium тестові скрипти. Виберіть той, який найкраще відповідає вашій тестовій платформі та Selenium версія.
1. Використання бажаних можливостей
Спочатку встановіть системну властивість для GeckoDriver.
Синтаксис:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
приклад:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Далі встановіть бажані можливості. Допомога з бажаними можливостями Selenium зрозуміти назву браузера, версію та операційну систему, необхідні для виконання автоматизованих тестів. Нижче наведено код для налаштування GeckoDriver за допомогою класу DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Ось повний код:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2 Використовуючи MariНерухомість Онетта
GeckoDriver також можна ініціалізувати за допомогою властивості marionette, як показано нижче.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Якщо GeckoDriver ініціалізовано за допомогою вищезазначеного методу, код бажаних можливостей буде НЕ вимагається.
3 Використовуючи FirefoxОпції
Mozilla Firefox версія 47+ надає доступ до Mariдрайвер onette як застаріла система. Користуючись цим, MariДрайвер onette можна викликати через Firefox Варіанти, як показано нижче.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code для запуску Firefox Використання GeckoDriver
Наступні JUnitприклад на основі показує повний, виконуваний Selenium тест, який запускається Firefox через GeckoDriver та переходить до демонстрації URL.
package com.guru99.demo;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class GeckoDriverDemo {
String driverPath = "D:\\Guru99Demo\\GeckoDriver.exe";
public WebDriver driver;
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
driver = new FirefoxDriver(capabilities);
}
@Test
public void navigateToUrl() {
driver.get("https://demo.guru99.com/selenium/guru99home/");
}
@After
public void endTest() {
driver.quit();
}
}
Code Пояснення
Метод @Before
Спочатку ми встановлюємо системну властивість GeckoDriver на місце завантаження geckodriver.exe. Ми також встановлюємо властивість marionette на true, щоб Selenium використовує Mariпротокол onette для зв'язку з GeckoDriver. Нарешті, ми запускаємо Firefox екземпляр браузера за допомогою об'єкта Desired Capabilities.
Наступні твердження досягають цієї налаштування.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
Метод @Test
Ми переходимо до вказаного користувачем URL використовуючи вбудований get метод, що надається Selenium WebDriver, як показано нижче.
driver.get("https://demo.guru99.com/selenium/guru99home/");
Метод @After
Нарешті, ми закриваємо екземпляр браузера за допомогою quit метод.
driver.quit();
Змінити скрипт для не-геконів на геконівський
Скрипти, що не належать до GeckoDriver, що використовувалися раніше Selenium 3 були простими. Ви просто створили екземпляр Firefox драйвер і використав змінну екземпляра.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Щоб конвертувати скрипт для GeckoDriver, вам потрібно додати лише один рядок коду, який вказує на розташування geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Поширені винятки, що траплялися під час використання GeckoDriver
Нижче наведено список поширених винятків, які виникають під час використання GeckoDriver, а також способи їх вирішення.



