Изтеглете 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) Extract ZIP файла.
След като изтеглянето на ZIP файла приключи, напр.tracкопирайте съдържанието му в папка на вашето устройство.
Стъпка 3) Обърнете внимание на местоположението на водача.
Запишете пътя до папката, където стеtracинсталирахте драйвера. Това местоположение ще бъде използвано по-късно за създаване на инстанция на драйвера от вашия тестов скрипт.
Начини за инициализиране на GeckoDriver
Има три различни начина за инициализиране на GeckoDriver във вашия Selenium тестови скриптове. Изберете този, който най-добре отговаря на вашата тестова рамка и Selenium версия.
1. Използване на DesiredCapabilities
Първо, задайте системното свойство за 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 използва Marionette протокол за комуникация с 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 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, заедно с техните решения.



