Mis on Gecko Driver?
Mõiste Gecko tähistab veebibrauseri mootorit, mis on sisse ehitatud Mozilla Firefoxi brauserisse. Gecko draiver toimib puhverserverina veebidraiveri toega klientide (Eclipse, Netbeans jne) ja Mozilla Firefoxi brauseri vahel. Lühidalt, Gecko draiver toimib lingina Selenium Web Driver testide ja Mozilla Firefoxi brauseri vahel.
Enne Selenium 3 oli seleeni vaikebrauser Mozilla Firefoxi brauser. Pärast Selenium 3 peavad testijad initsialiseerima skripti, et kasutada Firefoxi selgesõnaliselt GeckoDriveri kasutades. Seleen kasutab GeckoDriverile päringute saatmiseks W3C Webdriveri protokolli, mis teisendab need protokolliks nimega Marionette. Firefox saab aru Marionette'i protokolli kujul edastatud käskudest ja täidab neid.
Gecko draiveri kasutamise eelis
Seleeni veebidraiveri versioon 2.53 ei ühildu Mozilla Firefoxi versiooniga 47.0+. Mozilla Firefoxi varasemates versioonides kasutatud Firefoxi draiver lõpetatakse ja kasutatakse ainult GeckoDriveri rakendust. Seega on testijad sunnitud kasutama GeckoDriveri, kui nad soovivad automatiseeritud teste käivitada Mozilla Firefoxi versioonis 47.0+. Kuid suur küsimus - mis on selle eelis?
GeckoDriveri kasutamise peamine eelis Firefoxi vaikedraiveri kõrval on ühilduvus . GeckoDriver kasutab seleeniga suhtlemiseks W3C WebDriveri protokolli . W3C on veebidraiveri universaalselt määratletud standard. See tähendab, et seleeniarendajad (inimesed, kes kodeerivad seleenibaasi) ei pea iga brauseri versiooni jaoks uut veebidraiveri versiooni looma. Sama veebidraiverit saab kasutada mitme brauseriversiooni jaoks. Seega on eelistatud GeckoDriver võrreldes Firefoxi draiveri varasema rakendusega.
Laadige alla ja installige Gecko draiver:
Gecko Driver on saadaval käivitatava failina, mille saab süsteemi alla laadida. Gecko draiveri allalaadimiseks on järgmine loend.
Samm 1) Sellel lehel https://github.com/mozilla/geckodriver/releases valige oma operatsioonisüsteemile vastav GeckoDriveri allalaadimiseks sobiv versioon
2. samm. Kui ZIP-faili allalaadimine on lõpule jõudnud, eraldage ZIP-faili sisu failikausta
Samm 3) Pange tähele draiveri ekstraktimise koht. Asukohta kasutatakse hiljem draiveri kiirendamiseks.
GeckoDriveri lähtestamise viisid:
GeckoDriveri lähtestamiseks on kolm erinevat viisi.
1. DesiredCapabilitysi kasutamine:
Kõigepealt määrake süsteemi atribuut Gecko Driverile.
Süntaks:
System.setProperty ("webdriver.gecko.driver", "Geckdriver.exe-faili tee");
Näide:
System.setProperty ("webdriver.gecko.driver", "D: \\ Allalaadimised \\ GeckoDriver.exe");
Järgmisena määrake soovitud võimalused.
Soovitud võimalused aitavad Seleniumil automatiseeritud testide läbiviimiseks brauseri nime, versiooni ja operatsioonisüsteemi mõista. Allpool on kood gekodraiveri seadmiseks DesiredCapability klassi abil.
DesiredCapability võimed = DesiredCapability.firefox ();võimed.setCapability ("marionett", tõsi);
Siin on täielik kood
System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability võimed = DesiredCapability.firefox ();võimed.setCapability ("marionett", tõsi);draiver = uus FirefoxDriver (võimalused);
2. Marionetti omaduse kasutamine:
Gecko draiveri saab ka initsialiseerida, kasutades allpool toodud omadust
System.setProperty ("webdriver.gecko.driver", "D: \\ Allalaadimised \\ GeckoDriver.exe");
Kui Gecko juht käivitub kasutades eespool kirjeldatud meetodit, kood soovitud võimete ei vaja.
3. FirefoxOptions kasutamine:
Mozilla Firefoxi versioonil 47+ on pärandsüsteemina marionettidraiver. Seda ära kasutades saab marionettidraiveri kutsuda Firefoxi suvandite abil, nagu allpool
FirefoxOptions valikud = new FirefoxOptions ();options.setLegacy (true);
Kood Firefoxi käivitamiseks Gecko draiveri abil:
pakett 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.DesiredCapilities;avalik klass GeckoDriverDemo {String driverPath = "D: \\ Guru99Demo \\ GeckoDriver.exe";avalik WebDriveri draiver;@Ennepublic void startBrowser () {System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability võimed = DesiredCapability.firefox ();võimed.setCapability ("marionett", tõsi);draiver = uus FirefoxDriver (võimalused);}@Testpublic void navigateToUrl () {driver.get ("http://demo.guru99.com/selenium/guru99home/");}@Pärastpublic void endTest () {juht.ulge ();}}
Koodi selgitus:
@Enne meetodit:
Esialgu peame määrama gecko draiveri süsteemi atribuudi faili geckdriver.exe allalaadimise asukohta. Peame seleenile määrama marioneti omaduse tõeks, et kasutada Marecette protokolli Gecko draiveriga suhtlemiseks. Lõpuks peame käivitama Firefoxi brauseri eksemplari, kasutades soovitud võimete objekti.
Allpool toodud väited aitavad ülaltoodud ülesannet saavutada.
System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability võimed = DesiredCapability.firefox ();võimed.setCapability ("marionett", tõsi);draiver = uus FirefoxDriver (võimalused);
@Testimis viis:
Navigeerime kasutaja määratud URL-ile, kasutades sisseehitatud meetodit "hankimine", mille pakub Seleniumi veebidraiver. Allpool toodud väide aitab sama saavutada.
driver.get ("http://demo.guru99.com/selenium/guru99home/");
@Pärast meetodit:
Lõpuks sulgeme brauseri eksemplari quit-meetodi abil.
juht.ulge ();
Muuda Gecko skripti Gecko jaoks:
Enne Selenium 3 kasutatud draiveri skripti, mis ei olnud geko, oli lihtne. Peame looma Firefoxi draiveri eksemplari ja kasutama eksemplari muutujat.
@Ennepublic void startBrowser () {draiver = uus FirefoxDriver ();}
Gekoks teisendamiseks peate lihtsalt lisama ühe koodirea
@Ennepublic void startBrowser () {System.setProperty ("webdriver.gecko.driver", "D: \\ Allalaadimised \\ GeckoDriver.exe");draiver = uus FirefoxDriver ();}
Gecko draiveri kasutamisel ilmnesid tavalised erandid:
Allpool on loetelu levinud eranditest, mis ilmnevad Gecko draiveri kasutamisel ja eraldusvõimega.
1. Draiveri käivitatava faili tee peab määrama süsteemi atribuut webdriver.gecko.driver:
See erand ilmneb siis, kui kasutaja üritab Firefoxi draiverit kiirendada ilma gekodraiveri jaoks süsteemi atribuuti määramata. Tavaliselt teevad seda seleeni algajad, kes ei ole teadlikud muudatustest, mis on tehtud seleen 3-st varasemate versioonideni.
Ülaltoodud erandi resolutsioon on määrata gekko draiveri süsteemi atribuut faili geckodriver.exe asukohaga allpool
System.setProperty ("webdriver.gecko.driver", "D: \\ Downloads \\ geckodriver.exe");
Pange tähele, et enne Mozilla Firefoxi draiveri eksemplari loomist peate määrama geko draiveri atribuudi.
2. Firefoxi ühenduseta erand:
org.openqa.selenium.firefox.NotConnectedException: 45000 ms pärast ei saa ühendust hosti 127.0.0.1 pordil 7055.
See erand ilmneb tavaliselt siis, kui Firefoxi versioon on uuemale versioonile üle viidud. Selle erandi resolutsiooniks on seleenipurgi faili ja geko draiveri värskendamine uuemale versioonile ja sama kasutamine.
3. Seansi loomata erand:
org.openqa.selenium.SessionNotCreatedException: uut kaugseanssi ei saa luua.
See erand ilmneb Seleniumi ja Gecko draiveri ühilduvusprobleemide tõttu. Gecko draiver töötab Firefoxi versiooniga 47 või uuem. Selle saab lahendada, värskendades Firefoxi versiooni versioonile 47 või uuemale.
4. Ühenduse keeldumise erand:
WebDriveri erand: ühendus keelduti
See erand on teade, mis tekib siis, kui veebidraiver ei suuda Firefoxiga ühendust luua. Selle saab lahendada, kasutades ühte järgmistest tehnikatest.
- Veebidraiveri varasemate eksemplaride hävitamiseks kasutage meetodit driver.quit ()
- Enne automatiseeritud testide tegemist puhastage brauseri vahemälu
- Puhastage Eclipse IDE-s projekti tööruum
- Kasutage alati seleenigeko draiveri uusimat versiooni ja Firefoxi brauseri uusimat versiooni