Lataa Geckodriver for Firefox & Selenium

โšก ร„lykรคs yhteenveto

GeckoDriver-ajuri Firefox ja Selenium toimii vรคlityspalvelimena W3C WebDriver -asiakasohjelmien ja Mozillan vรคlillรค Firefox, komentojen kรครคntรคminen kielelle MariOnette-protokolla. Tรคssรค oppaassa selitetรครคn asennus, alustustekniikat, esimerkkikoodi, yleiset poikkeukset ja ydinyhteensopivuuden edut.

  • ๐ŸฆŠ Sillan rooli: GeckoDriver yhdistรครค Selenium WebDriver-asiakkaat, joilla on Firefox kรคyttรคen MariOnette-protokolla.
  • โฌ‡๏ธ Asennus ensin: Lataa oikea GeckoDriver-koontiversio kรคyttรถjรคrjestelmรคllesi virallisesta Mozilla-arkistosta.
  • โš™๏ธ Kolme alustuspolkua: Alusta ajuri DesiredCapabilities-ominaisuuden, marionettijรคrjestelmรคominaisuuden, kautta tai FirefoxVaihtoehtoja.
  • ๐Ÿงช Esimerkki tyรถnkulusta: Kรคyttรครค JUnit merkintรถjรค, kuten @Before, @Test ja @After, selaimen elinkaaren siistiรค hallintaa varten.
  • ๐Ÿ› ๏ธ Korjaa yleisiรค virheitรค: Ratkaise SessionNotCreated- ja yhteyden hylkรครคmisongelmat tasaamalla Firefox, Seleniumja ajuriversiot.
  • ๐ŸŒ W3C:n etu: W3C WebDriver -standardi tarjoaa versioiden vรคlisen yhteensopivuuden, mikรค vรคhentรครค automaatiopakettien yllรคpitotarvetta.

GeckoDriver sisรครคn Selenium

Mitรค GeckoDriver sisรคltรครค Selenium?

Termi Gecko tarkoittaa Mozillan sisรครคnrakennettua verkkoselainmoottoria. Firefox selain. GeckoDriver toimii vรคlityspalvelimena WebDriver-yhteensopivien asiakkaiden vรคlillรค (Eclipse, NetBeans, IntelliJ IDEAjne.) ja Mozilla Firefox selain. Lyhyesti sanottuna GeckoDriver toimii linkkinรค Selenium WebDriver-testit ja Mozilla Firefox.

Ennen Selenium 3, Mozilla Firefox selain oli oletusselain Selenium. Jรคlkeen Selenium 3, testaajien on alustettava skripti kรคyttรครคkseen sitรค Firefox nimenomaisesti GeckoDriverin kautta. Selenium kรคyttรครค W3C WebDriver -protokollaa lรคhettรครคkseen pyyntรถjรค GeckoDriverille, joka muuntaa ne protokollaan nimeltรค Marionette. Firefox sitten ymmรคrtรครค kรคskyt transmittedissรค Marionette-protokollan muodossa ja suorittaa ne.

GeckoDriverin kรคytรถn edut

Selenium WebDriver-versio 2.53 ei ole yhteensopiva Mozillan kanssa Firefox versio 47.0+. Perintรถ Firefox ajuri, jota kรคytettiin aiemmassa Mozillassa Firefox koontiversiot on lopetettu, ja nykyรครคn voidaan kรคyttรครค vain GeckoDriver-toteutusta. Testaajien on siksi kรคytettรคvรค GeckoDriveria automatisoitujen testien suorittamiseen Mozillalla. Firefox versio 47.0 ja uudemmat.

GeckoDriverin kรคytรถn suurin etu vanhaan versioon verrattuna Firefox kuljettaja on yhteensopivuusGeckoDriver luottaa W3C WebDriver-protokolla kanssa kommunikoida SeleniumW3C on WebDriverille yleisesti mรครคritelty standardi. Tรคmรค tarkoittaa, ettรค Selenium Kehittรคjien ei tarvitse luoda uutta ajuriversiota jokaista selainversiota varten. Samaa WebDriver-toteutusta voidaan kรคyttรครค useissa selainversioissa, minkรค vuoksi GeckoDriver on parempi vaihtoehto kuin vanhempi. Firefox kuljettaja.

Kuinka ladata ja asentaa GeckoDriver sisรครคn Selenium

GeckoDriver jaetaan suoritettavana tiedostona, joka voidaan ladata suoraan jรคrjestelmรครคsi. Lataa ja asenna GeckoDriver noudattamalla alla olevia ohjeita. Selenium automaatio.

Vaihe 1) Valitse sopiva versio.
Virallisilla julkaisusivuilla https://github.com/mozilla/geckodriver/releases, valitse sopiva GeckoDriver-koontiversio, joka sopii kรคyttรถjรคrjestelmรครคsi ja arkkitehtuuriasi.

Lataa ja asenna GeckoDriver sisรครคn Selenium

Vaihe 2) Extract ZIP-tiedosto.
Kun ZIP-tiedoston lataus on valmis, esim.tractallenna sen sisรคltรถ koneesi kansioon.

ExtracGeckoDriver ZIP-tiedosto

Vaihe 3) Huomioi kuljettajan sijainti.
Kirjaa muistiin kansiopolku, josta extracluonut ajurin. Tรคtรค sijaintia kรคytetรครคn myรถhemmin ajurin luomiseen testiskriptistรคsi.

Huomaa GeckoDriverin sijainti

GeckoDriverin alustamisen tapoja

GeckoDriver voidaan alustaa kolmella eri tavalla Selenium testiskriptejรค. Valitse se, joka parhaiten sopii testikehykseesi ja Selenium versio.

1. DesiredCapabilitiesin kรคyttรคminen

Aseta ensin GeckoDriverin jรคrjestelmรคominaisuus.

Syntaksi:

System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");

Esimerkiksi:

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

Seuraavaksi aseta halutut ominaisuudet. Haluttujen ominaisuuksien ohjeet Selenium ymmรคrtรครค selaimen nimen, version ja kรคyttรถjรคrjestelmรคn, jota tarvitaan automatisoitujen testien suorittamiseen. Alla on koodi GeckoDriverin konfiguroimiseksi DesiredCapabilities-luokan avulla.

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);

Tรคssรค on tรคydellinen koodi:

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);

2. kรคyttรคmรคllรค MariOnette-kiinteistรถ

GeckoDriver voidaan alustaa myรถs marionette-ominaisuuden avulla, kuten alla on esitetty.

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

Jos GeckoDriver alustetaan yllรค olevalla menetelmรคllรค, haluttujen ominaisuuksien koodi on emme edellytetรครคn.

3. kรคyttรคmรคllรค FirefoxVaihtoehdot

mozilla Firefox versio 47+ paljastaa Marionette-ajuria vanhana jรคrjestelmรคnรค. Hyรถdyntรคmรคllรค tรคtรค MariOnette-ajuria voidaan kutsua Firefox Vaihtoehdot alla olevan kuvan mukaisesti.

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

Code kรคynnistรคmistรค varten Firefox GeckoDriverin kรคyttรถ

Seuraavat JUnit-pohjainen esimerkki nรคyttรครค tรคydellisen, suoritettavan Selenium testi, joka kรคynnistyy Firefox GeckoDriverin kautta ja siirtyy demoon URL.

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();
    }

}

Code Selitys

@Ennen menetelmรครค

Aluksi asetimme GeckoDriverin system-ominaisuudeksi geckodriver.exe-latauspaikan. Asetimme myรถs marionette-ominaisuuden arvoksi true, jotta Selenium kรคyttรครค Marionette-protokollaa kommunikoidakseen GeckoDriverin kanssa. Lopuksi aloitamme Firefox selaininstanssi Desired Capabilities -objektin avulla.

Seuraavat lauseet saavuttavat tรคmรคn asetelman.

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);

@Testausmenetelmรค

Siirrymme kรคyttรคjรคn mรครคrittรคmรครคn kohtaan URL sisรครคnrakennettuna get menetelmรค, jonka tarjoaa Selenium WebDriver, kuten alla on esitetty.

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

@Menetelin jรคlkeen

Lopuksi suljemme selaininstanssin kรคyttรคmรคllรค quit menetelmรคllรค.

driver.quit();

Muokkaa ei-gekko-skriptiรค gekko-muotoon

Aiemmin kรคytetyt muut kuin GeckoDriver-skriptit Selenium 3 olivat yksinkertaisia. Loit yksinkertaisesti instanssin Firefox ajuri ja kรคytti instanssimuuttujaa.

@Before
public void startBrowser() {
    driver = new FirefoxDriver();
}

GeckoDriver-skriptin muuntamiseksi sinun tarvitsee lisรคtรค vain yksi koodirivi, joka osoittaa geckodriver.exe-tiedoston sijaintiin.

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

Yleisiรค poikkeuksia GeckoDriveria kรคytettรคessรค

Seuraavassa on luettelo yleisistรค GeckoDriveria kรคytettรคessรค esiintyvistรค poikkeuksista ja niiden ratkaisuista.

Tรคmรค poikkeus tapahtuu, kun kรคyttรคjรค yrittรครค luoda instanssin Firefox ajuria asettamatta GeckoDriver-jรคrjestelmรคn ominaisuutta. Se nรคkyy yleisesti Selenium aloittelijoille, jotka eivรคt ole tietoisia tehdyistรค muutoksista Selenium 3 verrattuna aikaisempiin versioihin.

Ratkaisuna on asettaa GeckoDriverin jรคrjestelmรคominaisuudeksi geckodriver.exe-tiedoston sijainti alla olevan kuvan mukaisesti.

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

Huomaa, ettรค sinun on asetettava GeckoDriver-ominaisuus ennen Mozilla-instanssin luomista. Firefox kuljettaja.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

Tรคmรค poikkeustapaus tapahtuu yleensรค silloin, kun Firefox versio on pรคivitetty uusimpaan versioon. Ratkaisuna on pรคivittรครค sekรค Selenium JAR-tiedosto ja GeckoDriver uusimpiin yhteensopiviin versioihin ja suorita sitten skripti uudelleen.

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session.

Tรคmรค poikkeus johtuu yhteensopivuusongelmista Selenium ja GeckoDriver. GeckoDriver toimii seuraavien kanssa: Firefox versio 47 tai uudempi. Ongelma voidaan ratkaista pรคivittรคmรคllรค Firefox versioksi 47 tai uudemmaksi.

WebDriver Exception: Connection Refused

Tรคmรค poikkeus ilmenee, kun WebDriver ei pysty muodostamaan yhteyttรค FirefoxSe voidaan ratkaista millรค tahansa seuraavista tekniikoista.

  • Kรคytรค driver.quit() menetelmรค WebDriverin aiempien esiintymien tuhoamiseksi.
  • Tyhjennรค selaimen vรคlimuisti ennen automaattisten testien suorittamista.
  • Siivoa projektin tyรถtila Eclipse SDI.
  • Kรคytรค aina uusinta versiota Selenium GeckoDriver ja uusin vakaa versio Firefox vapauta.

UKK

Ei. GeckoDriver on vรคlityspalvelimen suoritettava tiedosto, joka toteuttaa W3C WebDriver -standardin. Marionette on sisรครคnrakennettu automaatioprotokolla FirefoxGeckoDriver kรครคntรครค WebDriver-komennot kielelle MariOnetten viestit, jotka Firefox voi suorittaa.

Uusimmat GeckoDriver-koontiversiot virallisesti kohdistuvat Firefox 91 ESR ja uudemmat. Tarkista aina GeckoDriverin julkaisutiedot Mozillan GitHub-sivulta vahvistaaksesi vรคhimmรคis- ja enimmรคisversiot. Firefox lataamasi koontiversion tukemat versiot.

GeckoDriverin lisรครคminen jรคrjestelmรคn polkuun (PATH) on valinnaista, mutta kรคtevรครค. Jos se on polussa (PATH), voit ohittaa System.setProperty-kutsutoiminnon. Muussa tapauksessa sinun on mรครคritettรคvรค ajuripolku eksplisiittisesti tiedostossasi. Selenium testiskripti.

Kyllรค. Tekoรคlyllรค avustetut testaustyรถkalut voivat tuottaa Selenium WebDriver-koodi, ehdotusten paikannus ja automaattisesti korjaavat epรคtasaiset skriptit. Ne nopeuttavat rutiinityรถtรค, mutta luotettavan toiminnan takaamiseksi tarvitaan edelleen ihmisen suorittamaa ajuriversioiden, odotusaikojen ja vahvistusten tarkistusta. Firefox automaatio.

Ei. Tekoรคlyagentit toimivat tรคllรค hetkellรค WebDriver-protokollien pรครคllรค sen sijaan, ettรค ne korvaisivat ne. GeckoDriver on edelleen siltaโ€ฆ Firefox, kun taas tekoรคlykerrokset lisรครคvรคt รคlykkรครคmpiรค paikantimia, itsekorjausta ja luonnollisella kielellรค tehtรคvien testien luontia olemassa olevan standardin lisรคksi.

Tiivistรค tรคmรค viesti seuraavasti: