Preuzmite Geckodriver za Firefox & Selenium
โก Pametni saลพetak
GeckoDriver za Firefox i Selenium djeluje kao proxy izmeฤu W3C WebDriver klijenata i Mozille Firefox, prevodeฤi naredbe u Marionette protokol. Ovaj vodiฤ objaลกnjava instalaciju, tehnike inicijalizacije, primjer koda, uobiฤajene iznimke i prednosti kompatibilnosti jezgre.

U ฤemu je GeckoDriver Selenium?
Izraz Gecko oznaฤava web preglednik ugraฤen u Mozillu. Firefox preglednik. GeckoDriver djeluje kao proxy izmeฤu klijenata s omoguฤenim WebDriverom (Eclipse, NetBeans, IntelliJ IDEAitd.) i Mozilla Firefox preglednik. Ukratko, GeckoDriver sluลพi kao veza izmeฤu Selenium Testovi WebDrivera i Mozilla Firefox.
prije Selenium 3, Mozilla Firefox preglednik je bio zadani preglednik za Selenium. Nakon Selenium 3, testeri moraju inicijalizirati skriptu za koriลกtenje Firefox eksplicitno putem GeckoDrivera. Selenium koristi W3C WebDriver protokol za slanje zahtjeva GeckoDriveru, koji ih prevodi u protokol pod nazivom Marionette. Firefox zatim razumije naredbe transmitted u Mariformatu onette protokola i izvrลกava ih.
Prednost koriลกtenja GeckoDrivera
Selenium Verzija WebDrivera 2.53 nije kompatibilna s Mozillom Firefox verzija 47.0+. Naslijeฤe Firefox upravljaฤki program koriลกten u ranijim verzijama Mozille Firefox Izrada verzija je obustavljena i danas se moลพe koristiti samo implementacija GeckoDrivera. Stoga testeri moraju koristiti GeckoDriver za pokretanje automatiziranih testova na Mozilli. Firefox verzija 47.0 i novija.
Glavna prednost koriลกtenja GeckoDrivera u odnosu na starije verzije Firefox vozaฤ je kompatibilnostGeckoDriver se oslanja na W3C WebDriver protokol komunicirati s SeleniumW3C je univerzalno definirani standard za WebDriver. To znaฤi Selenium Programeri ne moraju stvarati novu verziju upravljaฤkog programa za svako izdanje preglednika. Ista implementacija WebDrivera moลพe se koristiti u viลกe verzija preglednika, zbog ฤega je GeckoDriver poลพeljniji od starije verzije. Firefox vozaฤ.
Kako preuzeti i instalirati GeckoDriver u Selenium
GeckoDriver se distribuira kao izvrลกna datoteka koju moลพete preuzeti izravno na svoj sustav. Slijedite dolje navedene korake za preuzimanje i instalaciju GeckoDrivera za Selenium automatizacija.
Korak 1) Odaberite odgovarajuฤu verziju.
Na sluลพbenoj stranici izdanja https://github.com/mozilla/geckodriver/releases, odaberite odgovarajuฤu verziju GeckoDrivera koja odgovara vaลกem operativnom sustavu i arhitekturi.
Korak 2) Extract ZIP datoteku.
Nakon ลกto je preuzimanje ZIP datoteke zavrลกeno, npr.tracPremjestite njegov sadrลพaj u mapu na vaลกem raฤunalu.
Korak 3) Zabiljeลพite lokaciju vozaฤa.
Zabiljeลพite putanju mape u koju ste extracinstalirao upravljaฤki program. Ova lokacija ฤe se kasnije koristiti za instanciranje upravljaฤkog programa iz vaลกeg testnog skripta.
Naฤini inicijalizacije GeckoDrivera
Postoje tri razliฤita naฤina za inicijalizaciju GeckoDrivera u vaลกem Selenium testne skripte. Odaberite onu koja najbolje odgovara vaลกem testnom okviru i Selenium verzija.
1. Koriลกtenje ลพeljenih moguฤnosti
Prvo postavite svojstvo sustava za GeckoDriver.
Sintaksa:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Primjer:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Zatim postavite ลฝeljene sposobnosti. ลฝeljene sposobnosti pomaลพu Selenium razumjeti naziv preglednika, verziju i operativni sustav potreban za izvrลกavanje automatiziranih testova. U nastavku je kod za konfiguriranje GeckoDrivera pomoฤu klase DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Evo kompletnog koda:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. koristeฤi MariNekretnina Onette
GeckoDriver se takoฤer moลพe inicijalizirati pomoฤu svojstva marionette kao ลกto je prikazano dolje.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Ako se GeckoDriver inicijalizira pomoฤu gornje metode, kod ลพeljenih moguฤnosti je ne potreban.
3. koristeฤi FirefoxOpcije
Mozilla Firefox verzija 47+ otkriva Marionette driver kao naslijeฤeni sustav. Iskoriลกtavajuฤi to, MariUpravljaฤki program onette moลพe se pozvati putem Firefox Opcije kao ลกto je prikazano u nastavku.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code za pokretanje Firefox Koriลกtenje GeckoDrivera
Sljedeฤe JUnitprimjer baziran na prikazuje potpun, izvediv Selenium test koji se pokreฤe Firefox putem GeckoDrivera i navigira do demo verzije 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 Objaลกnjenje
Metoda @Prije
U poฤetku smo postavili svojstvo sustava za GeckoDriver na lokaciju preuzimanja geckodriver.exe. Takoฤer smo postavili svojstvo marionette na true kako bismo Selenium koristi Marionette protokol za komunikaciju s GeckoDriverom. Na kraju pokreฤemo Firefox instanca preglednika pomoฤu objekta ลฝeljene moguฤnosti.
Sljedeฤe izjave postiลพu ovu postavku.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Metoda ispitivanja
Navigiramo do korisniฤki odreฤenog URL koristeฤi ugraฤeni get metoda koju pruลพa Selenium WebDriver, kao ลกto je prikazano dolje.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@After metoda
Na kraju zatvaramo instancu preglednika pomoฤu quit metoda.
driver.quit();
Izmijenite skriptu za ne-Gecko u Gecko
Skripte koje nisu GeckoDriver koriลกtene prije Selenium 3 su bila jednostavna. Jednostavno ste stvorili instancu od Firefox upravljaฤki program i koristio varijablu instance.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Za pretvorbu skripte za GeckoDriver, potrebno je dodati samo jedan redak koda koji pokazuje na lokaciju geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Uobiฤajene iznimke koje su se javljale prilikom koriลกtenja GeckoDrivera
Slijedi popis uobiฤajenih iznimki koje se javljaju tijekom koriลกtenja GeckoDrivera, zajedno s njihovim rjeลกenjima.



