Загрузите Geckodriver для Firefox & Selenium
⚡ Умное резюме
GeckoDriver для Firefox и Selenium выступает в качестве прокси-сервера между клиентами W3C WebDriver и Mozilla. Firefoxперевод команд в MariПротокол OneNette. В этом руководстве описаны установка, методы инициализации, примеры кода, распространенные исключения и преимущества совместимости с ядром.

Что такое GeckoDriver Selenium?
Термин Gecko обозначает движок веб-браузера, встроенный в Mozilla. Firefox браузер. GeckoDriver выступает в качестве прокси между клиентами, поддерживающими WebDriver.Eclipse, NetBeans, IntelliJ IDEAи т. д.) и Mozilla Firefox браузер. Вкратце, GeckoDriver служит связующим звеном между Selenium Тесты WebDriver и Mozilla Firefox.
Перед тем, как Selenium 3, Mozilla 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 инициализируется с использованием описанного выше метода, то код Desired Capabilities будет выглядеть следующим образом: не требуется.
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);
@Метод испытания
Мы переходим к указанному пользователем адресу. URL используя встроенный get метод предоставлен Selenium WebDriver, как показано ниже.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@After метод
Наконец, мы закрываем экземпляр браузера, используя... quit метод.
driver.quit();
Модифицировать скрипт для преобразования из не-геккона в геккона
Ранее использовались скрипты, не относящиеся к GeckoDriver. Selenium Три из них были простыми. Вам просто нужно было создать экземпляр. 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, а также способы их устранения.



