Загрузите Geckodriver для Firefox & Selenium
Что такое GeckoDriver Selenium?
Термин Gecko означает движок веб-браузера, встроенный в Mozilla. Firefox браузер. Драйвер Gecko действует как прокси-сервер между клиентами с поддержкой веб-драйвера (Eclipse, Netbeans и т. д.) и Mozilla Firefox браузер. Короче говоря, драйвер Gecko действует как связующее звено между Selenium Тесты веб-драйверов и Mozilla Firefox браузер.
Перед тем, как Selenium 3, Мозилла Firefox браузер был браузером по умолчанию для Selenium, После Selenium 3, тестировщикам необходимо инициализировать сценарий для использования Firefox явно используя GeckoDriver. Selenium использует протокол W3C Webdriver для отправки запросов в GeckoDriver, который преобразует их в протокол с именем Mariонетта. Firefox поймет команды, передаваемые в виде Mariпротокол onette и выполняет их.
Как скачать и установить GeckoDriver в Selenium
Драйвер Gecko доступен в виде исполняемого файла, который можно загрузить в систему. Ниже приведен список шагов для загрузки драйвера Gecko.
Шаг 1 ) Выберите подходящую версию.
На этой странице https://github.com/mozilla/geckodriver/releases ,Выберите соответствующую версию для загрузки GeckoDriver в зависимости от вашей операционной системы.
Шаг 2) Распакуйте ZIP-файл.
После завершения загрузки ZIP-файла извлеките содержимое ZIP-файла в папку с файлами.
Шаг 3) Обратите внимание на местоположение.
Запомните место, куда вы извлекли драйвер. Местоположение будет использоваться позже для создания экземпляра драйвера.
Способы инициализации GeckoDriver
Существует три разных способа инициализации GeckoDriver.
1. Использование желаемых возможностей
Сначала установите системное свойство для драйвера Gecko.
Синтаксис:
System.setProperty("webdriver.gecko.driver","Path to geckdriver.exe file");
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Затем установите желаемые возможности.
Желаемые возможности помогают Selenium понять имя, версию и операционную систему браузера для выполнения автоматических тестов. Ниже приведен код для установки драйвера Gecko с использованием класса 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. Использование собственности марионетки
Драйвер Gecko также можно инициализировать, используя свойство марионетки, как показано ниже.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Если драйвер Gecko инициализируется с использованием описанного выше метода, код желаемых возможностей будет следующим: требуется.
3. С помощью FirefoxВарианты
Mozilla Firefox версия 47+ имеет драйвер марионетки в качестве устаревшей системы. Воспользовавшись этим, драйвера марионетки можно вызвать с помощью Firefox Варианты, как показано ниже
FirefoxOptions options = new FirefoxOptions(); options.setLegacy(true);
Код для запуска Firefox с использованием драйвера Gecko
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(); } }
Код Пояснение
Метод @Before
Первоначально нам нужно установить системное свойство для драйвера gecko в место загрузки файла geckdriver.exe. Нам нужно установить для свойства марионетки значение true для Selenium использовать Mariпротокол onette для связи с драйвером Gecko. Наконец, нам нужно запустить Firefox экземпляр браузера, использующий объект для желаемых возможностей.
Приведенные ниже утверждения помогают достичь вышеуказанной задачи.
System.setProperty("webdriver.gecko.driver", driverPath); DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette",true); driver= new FirefoxDriver(capabilities);
@Метод испытания
Мы переходим по указанному пользователем URL-адресу, используя встроенный метод «get», предоставляемый Selenium веб-драйвер. Приведенное ниже утверждение поможет добиться того же.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@After метод
Наконец, мы закрываем экземпляр браузера с помощью метода quit.
driver.quit();
Измените сценарий для не-Gecko на Gecko.
Сценарий драйвера, не относящийся к Gecko, использовался ранее Selenium 3 был простым. Нам нужно создать экземпляр Firefox драйвер и используйте переменную экземпляра.
@Before public void startBrowser() { driver = new FirefoxDriver(); }
Чтобы преобразовать в геккона, вам нужно просто добавить одну строку кода
@Before public void startBrowser() { System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe"); driver = new FirefoxDriver(); }
Распространенные исключения возникали при использовании драйвера Gecko.
Ниже приведен список распространенных исключений, которые возникают при использовании драйвера Gecko и при разрешении.
Преимущество использования драйвера Gecko
Selenium Webdriver версии 2.53 несовместим с Mozilla. Firefox версия 47.0+. Firefox драйвер, используемый в более ранних версиях Mozilla Firefox будет прекращено, и будет использоваться только реализация GeckoDriver. Следовательно, тестировщики вынуждены использовать GeckoDriver, если они хотят запускать автоматические тесты в Mozilla. Firefox версия 47.0+. Но главный вопрос – в чем преимущество?
Основное преимущество использования GeckoDriver по сравнению со стандартным Firefox водитель Совместимость. GeckoDriver использует Протокол W3C WebDriver общаться с Selenium. W3C — это универсальный стандарт для веб-драйверов. Это означает Selenium Разработчики (люди, которые пишут код Selenium base) не нужно создавать новую версию веб-драйвера для каждой версии браузера. Один и тот же веб-драйвер можно использовать для нескольких версий браузера. Следовательно, GeckoDriver предпочтительнее более ранней реализации. Firefox Водитель.