Stáhněte si Geckodriver pro Firefox & Selenium
⚡ Chytré shrnutí
GeckoDriver pro Firefox a Selenium funguje jako proxy mezi klienty W3C WebDriver a Mozillou Firefox, překlad příkazů do MariProtokol Onette. Tato příručka vysvětluje instalaci, techniky inicializace, ukázkový kód, běžné výjimky a výhody kompatibility s jádrem.

V čem je GeckoDriver Selenium?
Termín Gecko je zkratka pro webový prohlížeč zabudovaný v prohlížeči Mozilla. Firefox prohlížeč. GeckoDriver funguje jako proxy mezi klienty s povoleným WebDriverem (Eclipse, NetBeans, IntelliJ IDEAatd.) a Mozilla Firefox prohlížeč. Stručně řečeno, GeckoDriver slouží jako spojení mezi Selenium Testy WebDriveru a Mozilla Firefox.
Před Selenium 3, Mozilla Firefox prohlížeč byl výchozí prohlížeč Selenium, Po Selenium 3, testeři musí inicializovat skript, který chtějí použít Firefox explicitně prostřednictvím GeckoDriveru. Selenium používá protokol W3C WebDriver k odesílání požadavků do GeckoDriveru, který je překládá do protokolu s názvem Marionette. Firefox pak rozumí příkazům transmitted v Mariformát protokolu onette a spustí je.
Výhody používání GeckoDriveru
Selenium Verze WebDriveru 2.53 není kompatibilní s Mozillou. Firefox verze 47.0+. Dědictví Firefox ovladač používaný v dřívějších verzích Mozilly Firefox buildy byly ukončeny a v současnosti lze použít pouze implementaci GeckoDriver. Testeři proto musí ke spuštění automatizovaných testů v Mozille používat GeckoDriver. Firefox verze 47.0 a vyšší.
Hlavní výhoda použití GeckoDriveru oproti starším systémům Firefox řidič je kompatibilitaGeckoDriver se spoléhá na Protokol W3C WebDriver komunikovat s SeleniumW3C je univerzálně definovaný standard pro WebDriver. To znamená Selenium Vývojáři nemusí vytvářet novou verzi ovladače pro každou verzi prohlížeče. Stejnou implementaci WebDriveru lze použít ve více verzích prohlížeče, a proto je GeckoDriver upřednostňován před starší verzí. Firefox Řidič.
Jak stáhnout a nainstalovat GeckoDriver do Selenium
GeckoDriver je distribuován jako spustitelný soubor, který si můžete stáhnout přímo do svého systému. Postupujte podle níže uvedených kroků pro stažení a instalaci GeckoDriveru. Selenium automatizace.
Krok 1) Vyberte příslušnou verzi.
Na oficiální stránce s vydáním https://github.com/mozilla/geckodriver/releases, vyberte vhodnou verzi GeckoDriveru, která odpovídá vašemu operačnímu systému a architektuře.
Krok 2) Extracsoubor ZIP.
Jakmile je stahování ZIP souboru dokončeno, např.traculožte jeho obsah do složky ve vašem počítači.
Krok 3) Poznamenejte si umístění řidiče.
Zaznamenejte si cestu ke složce, kam jstetracovladač. Toto umístění bude později použito k vytvoření instance ovladače z testovacího skriptu.
Způsoby inicializace GeckoDriveru
Existují tři různé způsoby, jak inicializovat GeckoDriver ve vašem Selenium testovací skripty. Vyberte si ten, který nejlépe odpovídá vašemu testovacímu frameworku a Selenium verze.
1. Použití DesiredCapabilities
Nejprve nastavte systémovou vlastnost pro GeckoDriver.
Syntaxe:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Příklad:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Dále nastavte požadované schopnosti. Požadované schopnosti pomáhají Selenium pochopte název prohlížeče, verzi a operační systém potřebný k provedení automatizovaných testů. Níže je uveden kód pro konfiguraci GeckoDriveru pomocí třídy DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Zde je úplný kód:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Použitím MariNemovitosti Onette
GeckoDriver lze také inicializovat pomocí vlastnosti marionette, jak je znázorněno níže.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Pokud je GeckoDriver inicializován výše uvedenou metodou, kód požadovaných schopností je ne požadovaný.
3. Použitím Firefoxmožnosti
Mozilla Firefox verze 47+ odhaluje Mariovladač onette jako starší systém. Využívá toho MariOvladač Onette lze vyvolat pomocí Firefox Možnosti, jak je uvedeno níže.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code pro spuštění Firefox Používání GeckoDriveru
Následující JUnitpříklad založený na ukazuje kompletní, spustitelný Selenium test, který se spustí Firefox přes GeckoDriver a přejde na demoverzi 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 Vysvětlení
@Před metodou
Nejprve jsme nastavili systémovou vlastnost GeckoDriver na umístění pro stahování souboru geckodriver.exe. Vlastnost marionette jsme také nastavili na hodnotu true, aby Selenium používá Mariprotokol Onette pro komunikaci s GeckoDriverem. Nakonec spustíme Firefox instance prohlížeče pomocí objektu Desired Capabilities.
Následující příkazy tohoto nastavení dosahují.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Testovací metoda
Navigujeme k uživatelsky zadanému URL pomocí vestavěného get metoda poskytovaná Selenium WebDriver, jak je znázorněno níže.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@Po metodě
Nakonec zavřeme instanci prohlížeče pomocí quit metoda.
driver.quit();
Úprava skriptu pro negekonovský jazyk na gekonovský
Skripty jiné než GeckoDriver používané dříve Selenium 3 byly přímočaré. Jednoduše jste vytvořili instanci Firefox ovladač a použil proměnnou instance.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Pro převod skriptu pro GeckoDriver stačí přidat pouze jeden řádek kódu, který ukazuje na umístění souboru geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Časté výjimky, ke kterým docházelo při používání GeckoDriveru
Následuje seznam běžných výjimek, ke kterým dochází při používání GeckoDriveru, spolu s jejich řešeními.



