Preuzmite Geckodriver za Firefox & Selenium webdriver
U čemu je GeckoDriver Selenium?
Izraz Gecko označava mehanizam web-preglednika koji je ugrađen u Mozillu Firefox preglednik. Gecko upravljački program djeluje kao proxy između klijenata s omogućenim Web Driver-om (Eclipse, Netbeans itd.) i Mozilla Firefox preglednik. Ukratko, Gecko driver djeluje kao poveznica između Selenium Web Driver testovi i Mozilla Firefox preglednik.
prije Selenium 3, Mozilla Firefox preglednik je bio zadani preglednik za Selenium. Nakon Selenium 3, testeri moraju inicijalizirati skriptu za korištenje Firefox eksplicitno koristeći GeckoDriver. Selenium koristi W3C Webdriver protokol za slanje zahtjeva GeckoDriveru, koji ih prevodi u protokol pod nazivom Marionette. Firefox razumjet će naredbe prenesene u obliku Marionette protokol i izvršava ih.
Kako preuzeti i instalirati GeckoDriver u Selenium
Gecko Driver dostupan je kao izvršna datoteka koja se može preuzeti na sustav. Slijedi popis koraka za preuzimanje drajvera za gecko.
Korak 1 ) Odaberite odgovarajuću verziju.
Na ovoj stranici https://github.com/mozilla/geckodriver/releases ,Odaberite odgovarajuću verziju za preuzimanje GeckoDrivera na temelju vašeg operativnog sustava
Korak 2) Ekstrahirajte ZIP datoteku.
Nakon završetka preuzimanja ZIP datoteke, izvucite sadržaj ZIP datoteke u mapu s datotekama
Korak 3) Zabilježite mjesto.
Zabilježite mjesto gdje ste izdvojili upravljački program. Lokacija će se kasnije koristiti za instanciranje upravljačkog programa.
Načini inicijalizacije GeckoDrivera
Postoje tri različita načina za inicijalizaciju GeckoDrivera.
1. Korištenje željenih mogućnosti
Prvo postavite svojstvo sustava za Gecko Driver.
Sintaksa:
System.setProperty("webdriver.gecko.driver","Path to geckdriver.exe file");
Primjer:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Zatim postavite željene mogućnosti.
Pomoć željenih mogućnosti Selenium razumjeti naziv preglednika, verziju i operativni sustav za izvođenje automatiziranih testova. Ispod je kôd za postavljanje gecko drajvera pomoću klase DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette",true);
Ovdje je kompletan kod
System.setProperty("webdriver.gecko.driver", driverPath); DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette",true); driver= new FirefoxDriver(capabilities);
2. Korištenje marionetske imovine
Upravljački program Gecko također se može pokrenuti koristeći svojstvo marionete kao u nastavku
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Ako se gecko driver inicijalizira gornjom metodom, kod za željene mogućnosti je ne potreban.
3. koristeći FirefoxOpcije
Mozilla Firefox verzija 47+ ima upravljački program za marionete kao naslijeđeni sustav. Iskoristivši to, marionetski vozač se može nazvati korištenjem Firefox Opcije kao u nastavku
FirefoxOptions options = new FirefoxOptions(); options.setLegacy(true);
Kod za pokretanje firefoxa pomoću Gecko drajvera
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(); } }
Objašnjenje koda
Metoda @Prije
U početku moramo postaviti svojstvo sustava za gecko driver na lokaciju za preuzimanje datoteke geckdriver.exe. Moramo postaviti svojstvo marionete na true for Selenium koristiti Marionette protokol za komunikaciju s Gecko Driverom. Konačno, moramo započeti Firefox instanca preglednika koja koristi objekt za željene mogućnosti.
Sljedeće izjave pomažu ostvariti gornji zadatak.
System.setProperty("webdriver.gecko.driver", driverPath); DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette",true); driver= new FirefoxDriver(capabilities);
@Metoda ispitivanja
Idemo na URL koji je odredio korisnik koristeći ugrađenu metodu "get" koju nudi Selenium web vozač. Izjava u nastavku pomaže postići isto.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@After metoda
Na kraju, zatvaramo instancu preglednika koristeći quit metodu.
driver.quit();
Izmijenite skriptu za ne-Gecko u Gecko
Prije se koristila skripta upravljačkog programa koji nije gecko Selenium 3 je bilo jednostavno. Moramo stvoriti instancu Firefox upravljački program i koristite varijablu instance.
@Before public void startBrowser() { driver = new FirefoxDriver(); }
Za pretvorbu u gecko trebate jednostavno dodati jedan redak koda
@Before public void startBrowser() { System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe"); driver = new FirefoxDriver(); }
Uobičajene su se iznimke događale tijekom korištenja Gecko Drivera
Slijedi popis uobičajenih iznimaka koji se javljaju tijekom korištenja Gecko Drivera i s rezolucijom.
Prednost korištenja Gecko Drivera
Selenium Webdriver verzija 2.53 nije kompatibilna s Mozillom Firefox verzija 47.0+. The Firefox upravljački program korišten u ranijim verzijama Mozille Firefox će se prekinuti, a koristit će se samo GeckoDriver implementacija. Stoga su testeri prisiljeni koristiti GeckoDriver ako žele pokrenuti automatizirane testove na Mozilli Firefox verzija 47.0+. Ali veliko pitanje – koja je prednost?
Glavna prednost korištenja GeckoDrivera u odnosu na zadani Firefox vozač je Kompatibilnost. GeckoDriver koristi W3C WebDriver protokol komunicirati s Selenium. W3C je univerzalno definiran standard za Web Driver. To znači Selenium Programeri (Ljudi koji kodiraju Selenium baza) ne mora stvarati novu verziju Web Drivera za svaku verziju preglednika. Isti web upravljački program može se koristiti za više verzija preglednika. Stoga je GeckoDriver poželjniji u usporedbi s ranijom implementacijom Firefox vozač.