Gecko (Marionette) draivera selēns: lejupielādējiet, instalējiet, izmantojiet ar Firefox

Satura rādītājs:

Anonim

Kas ir Gecko Driver?

Termins Gecko apzīmē tīmekļa pārlūkprogrammas motoru, kas ir iebūvēts Mozilla Firefox pārlūkprogrammā. Gecko draiveris darbojas kā starpniekserveris starp tīmekļa draiveri iespējotiem klientiem (Eclipse, Netbeans utt.) Un Mozilla Firefox pārlūku. Īsāk sakot, Gecko draiveris darbojas kā saite starp Selenium Web Driver testiem un Mozilla Firefox pārlūku.

Pirms Selenium 3 noklusējuma pārlūks Selenium bija Mozilla Firefox pārlūks. Pēc Selenium 3 testētājiem ir jāinicializē skripts, lai izmantotu Firefox, skaidri izmantojot GeckoDriver. Selēns izmanto W3C Webdriver protokolu, lai nosūtītu pieprasījumus GeckoDriver, kas tos pārveido protokolā ar nosaukumu Marionette. Firefox sapratīs komandas, kas pārsūtītas Marionette protokola formā, un izpildīs tās.

Gecko draivera izmantošanas priekšrocība

Selenium Webdriver versija 2.53 nav saderīga ar Mozilla Firefox 47.0+ versiju. Iepriekšējās Mozilla Firefox versijās izmantotais Firefox draiveris tiks pārtraukts, un tiks izmantota tikai GeckoDriver ieviešana. Tāpēc testētāji ir spiesti izmantot GeckoDriver, ja viņi vēlas izpildīt automatizētus testus Mozilla Firefox 47.0+ versijā. Bet lielais jautājums - kāda ir priekšrocība?

Galvenā GeckoDriver izmantošanas priekšrocība pretstatā noklusējuma Firefox draiverim ir Saderība . GeckoDriver izmanto W3C WebDriver protokolu, lai sazinātos ar Selenium. W3C ir universāli noteikts Web draivera standarts. Tas nozīmē, ka Selenium izstrādātājiem (cilvēkiem, kuri kodē Selenium bāzes) katrai pārlūkprogrammas versijai nav jāizveido jauna Web draivera versija. Vienu un to pašu tīmekļa draiveri var izmantot vairākām pārlūkprogrammu versijām. Tādējādi priekšroka tiek dota GeckoDriver, salīdzinot ar iepriekšējo Firefox draivera ieviešanu.

Lejupielādējiet un instalējiet Gecko draiveri:

Gecko draiveris ir pieejams kā izpildāms fails, kuru var lejupielādēt sistēmā. Šis ir darbību saraksts, lai lejupielādētu gecko draiveri.

1. solis) Šajā lapā https://github.com/mozilla/geckodriver/releases atlasiet atbilstošo GeckoDriver lejupielādes versiju, pamatojoties uz jūsu operētājsistēmu

2. solis. Kad ZIP faila lejupielāde ir pabeigta, izvilkiet ZIP faila saturu failu mapē

3. solis) Atzīmējiet vietu, kur izvilkāt draiveri. Atrašanās vieta tiks izmantota vēlāk, lai piemērotu draiveri.

GeckoDriver inicializācijas veidi:

Ir trīs dažādi GeckoDriver inicializācijas veidi.

1. DesiredCapability izmantošana:

Vispirms iestatiet sistēmas rekvizītu Gecko Driver.

Sintakse:

System.setProperty ("webdriver.gecko.driver", "Ceļš uz failu geckdriver.exe");

Piemērs:

System.setProperty ("webdriver.gecko.driver", "D: \\ Downloads \\ GeckoDriver.exe");

Pēc tam iestatiet vēlamās iespējas.

Vēlamās iespējas palīdz Selenium saprast pārlūkprogrammas nosaukumu, versiju un operētājsistēmu, lai veiktu automatizētos testus. Zemāk ir kods, lai iestatītu geko draiveri, izmantojot DesiredCapability klasi.

DesiredCapability spējas = DesiredCapability.firefox ();spējas.setCapability ("marionete", taisnība);

Šeit ir pilns kods

System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability spējas = DesiredCapability.firefox ();spējas.setCapability ("marionete", taisnība);draiveris = jauns FirefoxDriver (iespējas);

2. Marionetes īpašuma izmantošana:

Gecko draiveri var arī inicializēt, izmantojot marionetes īpašību, kā norādīts zemāk

System.setProperty ("webdriver.gecko.driver", "D: \\ Downloads \\ GeckoDriver.exe");

Ja gekona draiveris tiek inicializēts, izmantojot iepriekš minēto metodi, vēlamo iespēju kods nav nepieciešams.

3. FirefoxOptions izmantošana:

Mozilla Firefox 47+ versijai kā mantotajai sistēmai ir marionetes draiveris. Izmantojot to, marionetes draiveri var izsaukt, izmantojot Firefox opcijas, kā norādīts zemāk

FirefoxOptions options = new FirefoxOptions ();options.setLegacy (true);

Kods Firefox palaišanai, izmantojot Gecko draiveri:

pakete com.guru99.demo;importēt org.junit.After;importēt org.junit.Before;importēt org.junit.Test;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.firefox.FirefoxDriver;importēt org.openqa.selenium.remote.DesiredCapability;publiskā klase GeckoDriverDemo {String driverPath = "D: \\ Guru99Demo \\ GeckoDriver.exe";publiskais WebDriver draiveris;@Pirmspublic void startBrowser () {System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability spējas = DesiredCapability.firefox ();spējas.setCapability ("marionete", taisnība);draiveris = jauns FirefoxDriver (iespējas);}@Pārbaudepublic void navigateToUrl () {driver.get ("http://demo.guru99.com/selenium/guru99home/");}@Pēcpublic void endTest () {vadītājs.iziet ();}}

Koda skaidrojums:

@ Pirms metodes:

Sākumā mums jāiestata sistēmas rekvizīts gecko draiverim uz faila lejupielādes vietu geckdriver.exe. Mums ir jāiestata marionetes īpašums, lai Selenium izmantotu Marionette protokolu, lai sazinātos ar Gecko Driver. Visbeidzot, mums jāsāk Firefox pārlūka instance, izmantojot objektu Vēlamās iespējas.

Zemāk minētie apgalvojumi palīdz sasniegt iepriekš minēto uzdevumu.

System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapability spējas = DesiredCapability.firefox ();spējas.setCapability ("marionete", taisnība);draiveris = jauns FirefoxDriver (iespējas);

@Pārbaudes metode:

Mēs virzāmies uz lietotāja norādītu URL, izmantojot iebūvēto "get" metodi, ko nodrošina Selenium tīmekļa draiveris. Šis paziņojums palīdz sasniegt to pašu.

driver.get ("http://demo.guru99.com/selenium/guru99home/");

@ Pēc metodes:

Visbeidzot, mēs aizveram pārlūka gadījumu, izmantojot izietu.

vadītājs.iziet ();

Modificēt skriptu, kas nav Gecko uz Gecko:

Pirms Selenium 3 izmantotais draiveris, kas nav gekons, bija vienkāršs. Mums ir jāizveido Firefox draivera instance un jāizmanto instances mainīgais.

@Pirmspublic void startBrowser () {draiveris = jauns FirefoxDriver ();}

Lai pārveidotu par gecko, jums vienkārši jāpievieno viena koda rindiņa

@Pirmspublic void startBrowser () {System.setProperty ("webdriver.gecko.driver", "D: \\ Downloads \\ GeckoDriver.exe");draiveris = jauns FirefoxDriver ();}

Gecko draivera lietošanas laikā radās bieži izņēmumi:

Tālāk ir saraksts ar parastajiem izņēmumiem, kas rodas, lietojot Gecko Driver un ar izšķirtspēju.

1. Ceļš uz draivera izpildāmo failu jānosaka webdriver.gecko.driver sistēmas rekvizītam:

Šis izņēmums rodas, ja lietotājs mēģina atjaunināt Firefox draiveri, nenosakot sistēmas rekvizītu gecko draiverim. Parasti to dara Selēna iesācēji, kuri nezina par izmaiņām, kas veiktas no Selenium 3 līdz Selenium iepriekšējām versijām.

Iepriekš minētā izņēmuma izšķirtspēja ir iestatīt sistēmas rekvizītu gecko draiverim ar faila geckodriver.exe atrašanās vietu

System.setProperty ("webdriver.gecko.driver", "D: \\ Downloads \\ geckodriver.exe");

Lūdzu, ņemiet vērā, ka pirms Mozilla Firefox draivera instances izveidošanas jums jāiestata gecko draivera rekvizīts.

2. Firefox nav savienots izņēmums:

org.openqa.selenium.firefox.NotConnectedException: Nevar izveidot savienojumu ar resursdatoru 127.0.0.1 portā 7055 pēc 45000 ms.

Šis izņēmums parasti notiek, kad Firefox versija ir jaunināta uz jaunāko versiju. Šī izņēmuma izšķirtspēja ir selenium jar faila un gecko draivera atjaunināšana uz jaunāko versiju un tā pati izmantošana.

3. Sesija nav izveidota izņēmums:

org.openqa.selenium.SessionNotCreatedException: Nevar izveidot jaunu attālo sesiju.

Šis izņēmums rodas Selenium un Gecko draivera saderības problēmu dēļ. Gecko draiveris darbojas ar Firefox 47 vai jaunāku versiju. To var atrisināt, atjauninot Firefox versiju uz 47 vai jaunāku.

4. Savienojuma atteikuma izņēmums:

WebDriver izņēmums: savienojums atteikts

Šis izņēmums ir ziņojums, kas ģenerēts, kad tīmekļa draiveris nespēj izveidot savienojumu ar Firefox. To var atrisināt, izmantojot kādu no šiem paņēmieniem.

  • Izmantojiet metodi driver.quit (), lai iznīcinātu agrākus tīmekļa draivera gadījumus
  • Pirms automātisko testu izpildīšanas notīriet pārlūkprogrammas kešatmiņu
  • Notīriet projekta darbvietu programmā Eclipse IDE
  • Vienmēr izmantojiet selēna gecko draivera jaunāko versiju un pārlūkprogrammas Firefox jaunāko versiju