Изтеглете Geckodriver за Firefox & Selenium
В какво е GeckoDriver Selenium?
Терминът Gecko означава двигател на уеб браузър, който е вграден в Mozilla Firefox браузър. Драйверът на Gecko действа като прокси между клиенти с активиран уеб драйвер (Eclipse, Netbeans и др.) и Mozilla Firefox браузър. Накратко, драйверът на Gecko действа като връзка между Selenium Тестове за уеб драйвери и Mozilla Firefox браузър.
Преди Selenium 3, Mozilla Firefox браузърът беше браузърът по подразбиране за Selenium. След Selenium 3, тестерите трябва да инициализират скрипта, за да го използват Firefox използвайки изрично GeckoDriver. Selenium използва W3C Webdriver протокол за изпращане на заявки до GeckoDriver, който ги превежда в протокол с име MariОнет. Firefox ще разбере командите transmitпод формата на Mariпротокол onette и ги изпълнява.
Как да изтеглите и инсталирате GeckoDriver в Selenium
Gecko Driver е наличен като изпълним файл, който може да бъде изтеглен в системата. Следва списък със стъпки за изтегляне на драйвер за gecko.
Етап 1 ) Изберете подходящата версия.
На тази страница https://github.com/mozilla/geckodriver/releases ,Изберете подходящата версия за изтегляне на GeckoDriver въз основа на вашата операционна система
Стъпка 2) Extract ZIP файла.
След като изтеглянето на ZIP файла приключи, напр.tracсъдържанието на ZIP файла в папка с файлове
Стъпка 3) Обърнете внимание на местоположението.
Обърнете внимание на мястото, където сте бившиtracтед на драйвера. Местоположението ще бъде използвано по-късно за създаване на инстанция на драйвера.
Начини за инициализиране на GeckoDriver
Има три различни начина за инициализиране на GeckoDriver.
1. Използване на DesiredCapabilities
Първо задайте системното свойство за Gecko Driver.
Синтаксис:
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);
Code за стартиране на 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();
}
}
Code Обяснение
Метод @Before
Първоначално трябва да зададем системното свойство за драйвера на gecko на местоположението за изтегляне на файла geckdriver.exe. Трябва да зададем свойството marionette на true за Selenium да се използва Marionette протокол за комуникация с Gecko Driver. Най-накрая трябва да започнем 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 метод
И накрая, ние затваряме екземпляра на браузъра, като използваме метода за излизане.
driver.quit();
Промяна на скрипт за не-Gecko в Gecko
Скрипт на драйвер без gecko, използван преди Selenium 3 беше ясна. Трябва да създадем екземпляр на Firefox драйвер и използвайте променливата на екземпляра.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
За да конвертирате в gecko, трябва просто да добавите един ред код
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Често срещани изключения възникват при използване на Gecko Driver
Следва списък с често срещани изключения, които възникват при използване на Gecko Driver и с резолюция.
Предимство от използването на Gecko Driver
Selenium Webdriver версия 2.53 не е съвместима с Mozilla Firefox версия 47.0+. The Firefox драйвер, използван в по-ранни версии на Mozilla Firefox ще бъде преустановено и ще се използва само изпълнението на GeckoDriver. Следователно тестерите са принудени да използват GeckoDriver, ако искат да изпълняват автоматизирани тестове на Mozilla Firefox версия 47.0+. Но големият въпрос – какво е предимството?
Основното предимство на използването на GeckoDriver за разлика от стандартния Firefox водачът е Съвместимост. GeckoDriver използва W3C WebDriver протокол да общуват с Selenium. W3C е универсално дефиниран стандарт за уеб драйвер. Това означава Selenium Разработчици (хора, които кодират Selenium база) не е необходимо да създавате нова версия на уеб драйвера за всяка версия на браузъра. Един и същ уеб драйвер може да се използва за множество версии на браузъри. Следователно GeckoDriver е предпочитан в сравнение с по-ранното внедряване на Firefox шофьор.




