Laadige alla Geckodriver Firefox & Selenium

โšก Nutikas kokkuvรตte

GeckoDriver jaoks Firefox ja Selenium toimib vahendajana W3C WebDriveri klientide ja Mozilla vahel Firefox, kรคskude tรตlkimine keelde MariOnette'i protokoll. See juhend selgitab installimist, initsialiseerimistehnikaid, nรคidiskoodi, levinud erandeid ja pรตhiliste รผhilduvuse eeliseid.

  • ๐ŸฆŠ Silla roll: GeckoDriver loob รผhenduse Selenium WebDriveri kliendid, kellel on Firefox kasutades MariOnette'i protokoll.
  • โฌ‡๏ธ Esimene seadistus: Laadige oma operatsioonisรผsteemi ametlikust Mozilla hoidlast alla รตige GeckoDriveri jรคrk.
  • โš™๏ธ Kolm initsieerimisrada: Initsialiseeri draiver atribuudi โ€žDesiredCapabilitiesโ€ (โ€žmarionettsรผsteemiโ€) kaudu vรตi FirefoxValikud.
  • ๐Ÿงช Nรคidis tรถรถvoog: Kasutama JUnit mรคrkused nagu @Before, @Test ja @After brauseri elutsรผkli selgeks haldamiseks.
  • ๐Ÿ› ๏ธ Parandage levinud vead: Lahendage SessionNotCreated ja รผhenduse keeldumise probleemid joondades Firefox, Seleniumja draiverite versioonid.
  • ๐ŸŒ W3C eelis: W3C WebDriveri standard pakub versioonidevahelist รผhilduvust, vรคhendades automatiseerimispakettide hooldust.

GeckoDriver sisse Selenium

Milles on GeckoDriver Selenium?

Termin Gecko tรคhistab Mozilla sisseehitatud veebibrauseri mootorit. Firefox brauser. GeckoDriver toimib WebDriver-toega klientide vahel puhverserverina (Eclipse, NetBeans, IntelliJ IDEAjne) ja Mozilla Firefox brauserit. Lรผhidalt รถeldes toimib GeckoDriver รผhenduslรผlina Selenium WebDriveri testid ja Mozilla Firefox.

enne Selenium 3, Mozilla Firefox brauser oli vaikebrauser Selenium. Pรคrast Selenium 3, testijad peavad skripti kasutamiseks initsialiseerima Firefox otsesรตnu GeckoDriveri kaudu. Selenium kasutab W3C WebDriveri protokolli pรคringute saatmiseks GeckoDriverile, mis tรตlgib need nimega protokolliks Marionette. Firefox siis saab kรคskudest aru transmitted sisse Marionette'i protokolli vormingus ja kรคivitab need.

GeckoDriveri kasutamise eelis

Selenium WebDriveri versioon 2.53 ei ole Mozillaga รผhilduv Firefox versioon 47.0+. Pรคrand Firefox draiver, mida kasutati varasemas Mozillas Firefox versioonide tootmine on lรตpetatud ja tรคnapรคeval saab kasutada ainult GeckoDriveri implementatsiooni. Seetรตttu peavad testijad Mozillas automatiseeritud testide kรคivitamiseks kasutama GeckoDriverit. Firefox versioon 47.0 ja uuemad.

GeckoDriveri kasutamise peamine eelis pรคrandi ees Firefox juht on รผhilduvusGeckoDriver tugineb ...-le W3C WebDriveri protokoll kellega suhelda SeleniumW3C on WebDriveri jaoks universaalselt mรครคratletud standard. See tรคhendab Selenium Arendajad ei pea iga brauseri vรคljalaske jaoks uut draiveriversiooni looma. Sama WebDriveri implementatsiooni saab kasutada mitmes brauseri versioonis, mistรตttu eelistatakse GeckoDriverit vanemale. Firefox juht.

Kuidas alla laadida ja installida GeckoDriver Selenium

GeckoDriver levitatakse kรคivitatava failina, mille saab otse teie sรผsteemi alla laadida. GeckoDriveri allalaadimiseks ja installimiseks jรคrgige alltoodud samme. Selenium automaatika.

Step 1) Valige sobiv versioon.
Ametlikul vรคljaannete lehel https://github.com/mozilla/geckodriver/releases, vali sobiv GeckoDriveri versioon, mis sobib sinu operatsioonisรผsteemi ja arhitektuuriga.

Laadige alla ja installige GeckoDriver Selenium

Step 2) ExtracZIP-fail.
Kui ZIP-faili allalaadimine on lรตppenud, nttracselle sisu oma arvuti kausta.

ExtracGeckoDriveri ZIP-fail

Step 3) Pane tรคhele juhi asukohta.
Kirjuta รผles kausta tee, kust sa extracted draiveri. Seda asukohta kasutatakse hiljem draiveri loomiseks teie testskriptist.

Pange tรคhele GeckoDriveri asukohta

GeckoDriveri initsialiseerimise viisid

GeckoDriveri initsialiseerimiseks on kolm erinevat viisi. Selenium testiskriptid. Valige see, mis sobib kรตige paremini teie testimisraamistikuga ja Selenium versiooni.

1. DesiredCapabilities kasutamine

Esmalt mรครคrake GeckoDriveri sรผsteemi omadus.

sรผntaksit:

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

Nรคide:

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

Jรคrgmisena mรครคrake soovitud vรตimed. Soovitud vรตimete abi Selenium mรตista automaatsete testide kรคivitamiseks vajalikku brauseri nime, versiooni ja operatsioonisรผsteemi. Allpool on kood GeckoDriveri konfigureerimiseks DesiredCapabilities klassi abil.

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

Siin on tรคielik kood:

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

2. Kasutades MariOnette'i kinnisvara

GeckoDriveri saab initsialiseerida ka marionette'i omaduse abil, nagu allpool nรคidatud.

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

Kui GeckoDriver initsialiseeritakse รผlaltoodud meetodi abil, on soovitud vรตimete kood mitte nรตutav.

3. Kasutades FirefoxValikud

Mozilla Firefox versioon 47+ paljastab Marionette'i draiverit pรคrandsรผsteemina. Seda รคra kasutades Marionette'i draiverit saab kรคivitada lรคbi Firefox Valikud, nagu allpool nรคidatud.

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

Code kรคivitamiseks Firefox GeckoDriveri kasutamine

Jรคrgmised JUnit-pรตhine nรคide nรคitab tรคielikku ja kรคivitatavat Selenium test, mis kรคivitub Firefox GeckoDriveri kaudu ja navigeerib demole 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 Selgitus

@Enne meetod

Algselt mรครคrasime GeckoDriveri sรผsteemiomaduseks geckodriver.exe allalaadimise asukoha. Samuti mรครคrasime marionette'i omaduse vรครคrtuseks tรตene, et Selenium kasutab MariGeckoDriveriga suhtlemiseks onette'i protokolli. Lรตpuks alustame Firefox brauseri eksemplar, kasutades soovitud vรตimete objekti.

Jรคrgmised laused saavutavad selle seadistuse.

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

@Testi meetod

Me navigeerime kasutaja mรครคratud kohta URL kasutades sisseehitatud get meetod, mille on esitanud Selenium WebDriver, nagu allpool nรคidatud.

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

@Meetod pรคrast

Lรตpuks sulgeme brauseri eksemplari, kasutades kรคsku quit meetod.

driver.quit();

Muuda skripti mitte-gekodest gekodeks

Varem kasutatud mitte-GeckoDriveri skriptid Selenium 3 olid lihtsad. Sa lihtsalt lรตid eksemplari Firefox draiver ja kasutas eksemplari muutujat.

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

GeckoDriveri skripti teisendamiseks peate lisama ainult รผhe koodirea, mis osutab geckodriver.exe asukohale.

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

GeckoDriveri kasutamisel esinesid levinud erandid

Jรคrgnevalt on loetletud GeckoDriveri kasutamisel esinevad levinud erandid koos nende lahendustega.

See erand ilmneb siis, kui kasutaja proovib luua eksemplari Firefox draiverit ilma GeckoDriveri sรผsteemiomadust mรครคramata. Seda nรคeb tavaliselt koos Selenium algajatele, kes pole teadlikud tehtud muudatustest Selenium 3 vรตrreldes varasemate versioonidega.

Lahenduseks on GeckoDriveri sรผsteemiomaduse mรครคramine faili geckodriver.exe asukohaga, nagu allpool nรคidatud.

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

Pane tรคhele, et enne Mozilla eksemplari loomist pead mรครคrama GeckoDriveri atribuudi. Firefox juht.

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

See erand tekib tavaliselt siis, kui Firefox versioon on uuendatud uusimale versioonile. Resolutsioon on uuendada nii Selenium JAR-fail ja GeckoDriver uusimatele รผhilduvatele versioonidele ning seejรคrel kรคivitage skript uuesti.

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

See erand tuleneb รผhilduvusprobleemidest Selenium ja GeckoDriver. GeckoDriver tรถรถtab koos Firefox versioon 47 vรตi uuem. Probleemi saab lahendada versiooniuuendusega Firefox versioon 47 vรตi uuem.

WebDriver Exception: Connection Refused

See erand kuvatakse siis, kui WebDriver ei suuda รผhendust luua FirefoxSelle saab lahendada, kasutades mis tahes jรคrgmist tehnikat.

  • Kasuta driver.quit() meetod WebDriveri varasemate eksemplaride hรคvitamiseks.
  • Enne automatiseeritud testide tegemist puhasta brauseri vahemรคlu.
  • Puhastage projekti tรถรถruum Eclipse SDI.
  • Kasutage alati programmi uusimat versiooni Selenium GeckoDriver koos uusima stabiilse versiooniga Firefox vabastama.

KKK

Ei. GeckoDriver on puhverserveri kรคivitatav fail, mis rakendab W3C WebDriveri standardit. Marionette on sisseehitatud automatiseerimisprotokoll FirefoxGeckoDriver tรตlgib WebDriveri kรคsud keelde. Marionette'i sรตnumid, mis Firefox saab teostada.

Uusimad GeckoDriveri versioonid on ametlikult suunatud Firefox 91 ESR ja uuem. Kontrollige alati Mozilla GitHubi lehel olevaid GeckoDriveri vรคljalaskemรคrkmeid, et kinnitada minimaalset ja maksimaalset vรครคrtust. Firefox teie allalaaditud jรคrgu toetatud versioonid.

GeckoDriveri lisamine sรผsteemi PATH-i on valikuline, kuid mugav. Kui see asub PATH-is, vรตite System.setProperty-kรคsu vahele jรคtta. Vastasel juhul peate draiveri tee oma failis selgesรตnaliselt mรครคrama. Selenium testi skript.

Jah. Tehisintellekti abil tรถรถtavad testimisvahendid saavad genereerida Selenium WebDriveri kood, soovituste lokaatorid ja ebaรผhtlaste skriptide automaatne parandamine. Need kiirendavad rutiinset tรถรถd, kuid usaldusvรครคrse toimimise tagamiseks on siiski vaja draiveriversioonide, ooteaegade ja vรคidete inimesepoolset รผlevaatamist. Firefox automaatika.

Ei. Tehisintellekti agendid toimivad praegu WebDriveri protokollide peal, mitte ei asenda neid. GeckoDriver jรครคb sillaks Firefox, samas kui tehisintellekti kihid lisavad olemasolevale standardile lisaks nutikamaid lokaatoreid, enesetervendamist ja loomulikus keeles testide loomist.

Vรตta see postitus kokku jรคrgmiselt: