Gecko (Marionette) -ajurin seleeni: Lataa, asenna, käytä Firefoxin kanssa

Sisällysluettelo:

Anonim

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