Last ned Geckodriver for Firefox & Selenium
โก Smart oppsummering
GeckoDriver for Firefox og Selenium fungerer som en proxy mellom W3C WebDriver-klienter og Mozilla Firefox, oversette kommandoer til Marionette-protokollen. Denne veiledningen forklarer installasjon, initialiseringsteknikker, eksempelkode, vanlige unntak og fordeler med kjernekompatibilitet.

Hva er GeckoDriver i Selenium?
Begrepet Gecko stรฅr for en nettlesermotor innebygd i Mozilla Firefox nettleser. GeckoDriver fungerer som en proxy mellom WebDriver-aktiverte klienter (Eclipse, NetBeans, IntelliJ IDEAosv.) og Mozilla Firefox nettleser. Kort sagt fungerer GeckoDriver som en kobling mellom Selenium WebDriver-tester og Mozilla Firefox.
Fรธr Selenium 3, Mozilla Firefox nettleser var standard nettleser for Selenium. Etter Selenium 3, testere mรฅ initialisere skriptet for รฅ bruke det Firefox eksplisitt gjennom GeckoDriver. Selenium bruker W3C WebDriver-protokollen til รฅ sende forespรธrsler til GeckoDriver, som oversetter dem til en protokoll kalt Marionette. Firefox forstรฅr deretter kommandoene transmitted i Marionette-protokollformatet og kjรธrer dem.
Fordeler med รฅ bruke GeckoDriver
Selenium WebDriver versjon 2.53 er ikke kompatibel med Mozilla Firefox versjon 47.0+. Arven Firefox driveren som ble brukt i tidligere Mozilla-programmer Firefox builds har blitt avviklet, og bare GeckoDriver-implementasjonen kan brukes i dag. Testere er derfor pรฅlagt รฅ bruke GeckoDriver for รฅ kjรธre automatiserte tester pรฅ Mozilla. Firefox versjon 47.0 og nyere.
Den stรธrste fordelen med รฅ bruke GeckoDriver fremfor den eldre versjonen Firefox sjรฅfรธren er kompatibilitetGeckoDriver er avhengig av W3C WebDriver-protokoll รฅ kommunisere med SeleniumW3C er en universelt definert standard for WebDriver. Dette betyr Selenium Utviklere trenger ikke รฅ opprette en ny driverversjon for hver nettleserversjon. Den samme WebDriver-implementeringen kan brukes pรฅ tvers av flere nettleserversjoner, og det er derfor GeckoDriver foretrekkes fremfor den eldre. Firefox sjรฅfรธr.
Hvordan laste ned og installere GeckoDriver i Selenium
GeckoDriver distribueres som en kjรธrbar fil som kan lastes ned direkte til systemet ditt. Fรธlg trinnene nedenfor for รฅ laste ned og installere GeckoDriver for Selenium automasjon.
Trinn 1) Velg riktig versjon.
Pรฅ den offisielle utgivelsessiden https://github.com/mozilla/geckodriver/releases, velg den passende GeckoDriver-versjonen som samsvarer med operativsystemet og arkitekturen din.
Trinn 2) Extract ZIP-filen.
Nรฅr nedlastingen av ZIP-filen er fullfรธrt, f.eks.tracLegg innholdet i en mappe pรฅ maskinen din.
Trinn 3) Legg merke til fรธrerens plassering.
Noter mappebanen der du eksistertetraclastet driveren. Denne plasseringen vil bli brukt senere til รฅ instansiere driveren fra testskriptet ditt.
Mรฅter รฅ initialisere GeckoDriver pรฅ
Det finnes tre forskjellige mรฅter รฅ initialisere GeckoDriver pรฅ i din Selenium testskript. Velg det som passer best til testrammeverket ditt og Selenium versjon.
1. Bruke DesiredCapabilities
Fรธrst angir du systemegenskapen for GeckoDriver.
Syntaks:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Eksempel:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Deretter angir du รธnskede funksjoner. Hjelp med รธnskede funksjoner Selenium forstรฅ nettlesernavnet, versjonen og operativsystemet som kreves for รฅ kjรธre de automatiserte testene. Nedenfor finner du koden for รฅ konfigurere GeckoDriver ved hjelp av DesiredCapabilities-klassen.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Her er hele koden:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Ved hjelp av Marionette-eiendom
GeckoDriver kan ogsรฅ initialiseres ved hjelp av marionette-egenskapen som vist nedenfor.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Hvis GeckoDriver initialiseres ved hjelp av metoden ovenfor, er koden for รธnskede funksjoner ikke pรฅkrevd.
3. Ved hjelp av Firefoxalternativer
Mozilla Firefox versjon 47+ avslรธrer Marionette-driveren som et eldre system. Ved รฅ dra nytte av dette, Marionette-driveren kan pรฅkalles gjennom Firefox Alternativer som vist nedenfor.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code for lansering Firefox Bruk av GeckoDriver
Fรธlgende JUnit-basert eksempel viser et komplett, kjรธrbart Selenium test som starter Firefox gjennom GeckoDriver og navigerer til en demo 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 Forklaring
@Fรธr-metoden
I utgangspunktet satte vi systemegenskapen for GeckoDriver til nedlastingsplasseringen for geckodriver.exe. Vi satte ogsรฅ marionette-egenskapen til sann, slik at Selenium bruker Marionette-protokollen for รฅ kommunisere med GeckoDriver. Til slutt starter vi Firefox nettleserinstans ved hjelp av Desired Capabilities-objektet.
Fรธlgende utsagn oppnรฅr dette oppsettet.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Testmetode
Vi navigerer til det brukerspesifiserte URL ved hjelp av den innebygde get metode levert av Selenium WebDriver, som vist nedenfor.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@Etter metoden
Til slutt lukker vi nettleserinstansen ved hjelp av quit metoden.
driver.quit();
Endre et skript for ikke-gekko til gekko
Ikke-GeckoDriver-skript brukt fรธr Selenium 3 var enkle. Du opprettet ganske enkelt en instans av Firefox driveren og brukte instansvariabelen.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
For รฅ konvertere skriptet for GeckoDriver trenger du bare รฅ legge til รฉn linje med kode som peker til geckodriver.exe-plasseringen.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Vanlige unntak oppsto ved bruk av GeckoDriver
Fรธlgende er en liste over vanlige unntak som oppstรฅr nรฅr du bruker GeckoDriver, sammen med lรธsningene deres.



