Mikä on Gecko Driver?
Termi Gecko tarkoittaa verkkoselaimen moottoria, joka on sisäänrakennettu Mozilla Firefox -selaimessa. Gecko-ohjain toimii välityspalvelimena Web-ohjainta käyttävien asiakkaiden (Eclipse, Netbeans jne.) Ja Mozilla Firefox -selaimen välillä. Lyhyesti sanottuna Gecko-ohjain toimii linkkinä Selenium Web Driver -testien ja Mozilla Firefox -selaimen välillä.
Ennen Selenium 3 -ohjelmaa Mozilla Firefox -selain oli Seleniumin oletusselain. Selenium 3: n jälkeen testaajien on alustettava komentosarja voidakseen käyttää Firefoxia käyttämällä GeckoDriver-ohjelmaa nimenomaisesti. Selenium käyttää W3C Webdriver -protokollaa pyyntöjen lähettämiseen GeckoDriverille, joka muuntaa ne Marionette-nimiseksi protokollaksi. Firefox ymmärtää Marionette-protokollana lähetetyt komennot ja suorittaa ne.
Gecko-ohjaimen käytön etu
Selenium Webdriver -versio 2.53 ei ole yhteensopiva Mozilla Firefox -version 47.0+ kanssa. Mozilla Firefoxin aiemmissa versioissa käytetty Firefox-ohjain lopetetaan, ja vain GeckoDriver-toteutusta käytettäisiin. Siksi testaajat joutuvat käyttämään GeckoDriveria, jos he haluavat suorittaa automaattisia testejä Mozilla Firefox -versiossa 47.0+. Mutta iso kysymys - mikä on etu?
GeckoDriverin käytön etu Firefoxin oletusohjaimen sijaan on yhteensopivuus . GeckoDriver käyttää W3C WebDriver -protokollaa viestintään Seleniumin kanssa. W3C on Web-ohjaimen yleisesti määritelty standardi. Tämä tarkoittaa, että Selenium-kehittäjien (Selenium base -koodaavat ihmiset) ei tarvitse luoda uutta Web-ohjaimen versiota kullekin selainversiolle. Samaa Web-ohjainta voidaan käyttää useille selainversioille. Siksi GeckoDriver on suositeltava verrattuna Firefox-ohjaimen aikaisempaan käyttöönottoon.
Lataa ja asenna Gecko-ohjain:
Gecko Driver on saatavana suoritettavana tiedostona, joka voidaan ladata järjestelmään. Seuraavassa on luettelo vaiheista gecko-ohjaimen lataamiseksi.
Vaihe 1) Tällä sivulla https://github.com/mozilla/geckodriver/releases, valitse sopiva versio GeckoDriver-lataukseen käyttöjärjestelmäsi perusteella
Vaihe 2) Kun ZIP-tiedoston lataus on valmis, pura ZIP-tiedoston sisältö tiedostokansioon
Vaihe 3) Huomaa sijainti, josta purit ohjaimen. Sijaintia käytetään myöhemmin kuljettajan instantioimiseksi.
Tapoja aloittaa GeckoDriver:
GeckoDriver voidaan alustaa kolmella eri tavalla.
1. Haluttujen valmiuksien käyttäminen:
Määritä ensin järjestelmän ominaisuus Gecko Driverille.
Syntaksi:
System.setProperty ("webdriver.gecko.driver", "Polku geckdriver.exe-tiedostoon");
Esimerkki:
System.setProperty ("webdriver.gecko.driver", "D: \\ Lataukset \\ GeckoDriver.exe");
Määritä seuraavaksi halutut ominaisuudet.
Halutut ominaisuudet auttavat Seleniumia ymmärtämään selaimen nimen, version ja käyttöjärjestelmän automatisoitujen testien suorittamiseksi. Alla on koodi, jolla gekko-ohjain asetetaan DesiredCapilities-luokan avulla.
DesiredCapability-ominaisuudet = DesiredCapability.firefox ();capacity.setCapability ("marionetti", tosi);
Tässä on täydellinen koodi
System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability-ominaisuudet = DesiredCapability.firefox ();capacity.setCapability ("marionetti", tosi);ohjain = uusi FirefoxDriver (ominaisuudet);
2. Marionette-ominaisuuden käyttö:
Gecko-kuljettaja voidaan myös alustaa käyttämällä marionette-ominaisuutta alla esitetyllä tavalla
System.setProperty ("webdriver.gecko.driver", "D: \\ Lataukset \\ GeckoDriver.exe");
Jos gekko-ohjain alustetaan yllä olevalla menetelmällä, toivottujen ominaisuuksien koodia ei tarvita.
3. FirefoxOptionsin käyttö:
Mozilla Firefox -versiossa 47+ on marionettiajuri vanhana järjestelmänä. Tämän hyödyntämiseksi marionettiajuri voidaan kutsua alla olevien Firefox-asetusten avulla
FirefoxOptions options = uudet FirefoxOptions ();options.setLegacy (true);
Koodi Firefoxin käynnistämiseen Gecko-ohjaimella:
paketti com.guru99.demo;tuo org.junit.After;tuo org.junit.Before;tuoda org.junit.Test;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.firefox.FirefoxDriver;tuo org.openqa.selenium.remote.DesiredCapabilities;julkinen luokka GeckoDriverDemo {Merkkijono driverPath = "D: \\ Guru99Demo \\ GeckoDriver.exe";julkinen WebDriver-ohjain;@Ennenpublic void startBrowser () {System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability-ominaisuudet = DesiredCapability.firefox ();capacity.setCapability ("marionetti", tosi);ohjain = uusi FirefoxDriver (ominaisuudet);}@Testatapublic void navigateToUrl () {driver.get ("http://demo.guru99.com/selenium/guru99home/");}@Jälkeenpublic void endTest () {kuljettaja. lopeta ();}}
Koodin selitys:
@Ennen menetelmää:
Aluksi meidän on määritettävä gecko-ohjaimen järjestelmäominaisuus geckdriver.exe-tiedoston latauspaikkaan. Meidän on asetettava marionette-ominaisuudeksi tosi, jotta Selenium voi käyttää Marionette-protokollaa kommunikoimaan Gecko-ohjaimen kanssa. Lopuksi meidän on käynnistettävä Firefox-selaininstanssi käyttämällä haluttujen ominaisuuksien objektia.
Seuraavat lausunnot auttavat saavuttamaan yllä olevan tehtävän.
System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability-ominaisuudet = DesiredCapability.firefox ();capacity.setCapability ("marionetti", tosi);ohjain = uusi FirefoxDriver (ominaisuudet);
@Testausmenetelmä:
Olemme siirtymässä käyttäjän määrittelemään URL-osoitteeseen käyttämällä sisäänrakennettua "get" -menetelmää, jonka tarjoaa Selenium-verkkoajuri. Seuraava lausunto auttaa saavuttamaan saman.
driver.get ("http://demo.guru99.com/selenium/guru99home/");
@Jälkeen menetelmä:
Lopuksi suljet selaimen esiintymän lopetusmenetelmällä.
kuljettaja. lopeta ();
Muuta muun kuin Geckon komentosarja Geckoksi:
Ennen Selenium 3 -ohjelmaa käytetty ei-gecko-ohjaimen komentosarja oli yksinkertainen. Meidän on luotava Firefox-ohjaimen ilmentymä ja käytettävä ilmentymämuuttujaa.
@Ennenpublic void startBrowser () {ohjain = uusi FirefoxDriver ();}
Jos haluat muuntaa gekoksi, sinun on vain lisättävä yksi koodirivi
@Ennenpublic void startBrowser () {System.setProperty ("webdriver.gecko.driver", "D: \\ Lataukset \\ GeckoDriver.exe");ohjain = uusi FirefoxDriver ();}
Gecko-ohjainta käytettäessä tapahtui yleisiä poikkeuksia:
Seuraavassa on luettelo yleisistä poikkeuksista, joita esiintyy Gecko-ohjainta käytettäessä ja tarkkuudella.
1. Polku ohjaimen suoritettavaan tiedostoon on määritettävä webdriver.gecko.driver-järjestelmän ominaisuudella:
Tämä poikkeus tapahtuu, kun käyttäjä yrittää tehdä Firefox-ohjaimen ilmeisistä asettamatta järjestelmäominaisuutta gecko-ohjaimelle. Tämän tekevät yleensä aloittelijat Seleniumille, jotka eivät ole tietoisia Selenium 3: sta Selenium edellisiin versioihin tehdyistä muutoksista.
Yllä olevan poikkeuksen ratkaisu on asettaa järjestelmän ominaisuus gecko-ohjaimelle geckodriver.exe-tiedoston sijainnilla alla
System.setProperty ("webdriver.gecko.driver", "D: \\ Downloads \\ geckodriver.exe");
Huomaa, että sinun on määritettävä gecko-ohjaimen ominaisuus ennen Mozilla Firefox -ajurin esiintymän luomista.
2. Firefox-yhteys ei ole yhteydessä:
org.openqa.selenium.firefox.NotConnectedException: Ei voida muodostaa yhteyttä isäntään 127.0.0.1 portissa 7055 45000 ms kuluttua.
Tämä poikkeus tapahtuu yleensä, kun Firefox-versio on päivitetty uusimpaan versioon. Tämän poikkeuksen päätöslauselma on päivittää seleenipurkkitiedosto ja gekko-ohjain uusimpaan versioon ja käyttää samaa.
3. Istuntoa ei ole luotu:
org.openqa.selenium.SessionNotCreatedException: Uutta etäistuntoa ei voida luoda.
Tämä poikkeus johtuu Selenium- ja Gecko-ohjaimen yhteensopivuusongelmista. Gecko-ohjain toimii Firefox-version 47 tai uudemman kanssa. Se voidaan ratkaista päivittämällä Firefox-versio 47: een tai uudempaan.
4. Yhteys hylätty poikkeus:
WebDriver-poikkeus: yhteys hylätty
Tämä poikkeus on viesti, joka syntyy, kun verkkoajuri ei pysty muodostamaan yhteyttä Firefoxiin. Se voidaan ratkaista jollakin seuraavista tekniikoista.
- Käytä driver.quit () -menetelmää tuhota aikaisemmat web-ohjaimet
- Puhdista selaimen välimuisti ennen automaattisten testien suorittamista
- Puhdista projektin työtila Eclipse IDE: ssä
- Käytä aina seleenigekko-ohjaimen uusinta versiota ja viimeisintä Firefox-selaimen versiota