Download Geckodriver til Firefox & Selenium
โก Smart opsummering
GeckoDriver til Firefox og Selenium fungerer som en proxy mellem W3C WebDriver-klienter og Mozilla Firefox, oversรฆttelse af kommandoer til Marionette-protokollen. Denne vejledning forklarer installation, initialiseringsteknikker, eksempelkode, almindelige undtagelser og fordele ved kernekompatibilitet.

Hvad er GeckoDriver i Selenium?
Udtrykket Gecko stรฅr for en webbrowser-motor, der er indbygget i Mozilla. Firefox browser. GeckoDriver fungerer som en proxy mellem WebDriver-aktiverede klienter (Eclipse, NetBeans, IntelliJ IDEAosv.) og Mozilla Firefox browser. Kort sagt fungerer GeckoDriver som et link mellem Selenium WebDriver-tests og Mozilla Firefox.
Fรธr Selenium 3, Mozilla Firefox browser var standardbrowseren for Selenium. Efter Selenium 3, testere skal initialisere scriptet for at bruge det Firefox eksplicit gennem GeckoDriver. Selenium bruger W3C WebDriver-protokollen til at sende anmodninger til GeckoDriver, som oversรฆtter dem til en protokol med navnet Marionette. Firefox forstรฅr derefter kommandoerne transmitted i Marionette-protokolformatet og udfรธrer dem.
Fordele ved at bruge GeckoDriver
Selenium WebDriver version 2.53 er ikke kompatibel med Mozilla Firefox version 47.0+. Arven Firefox driver brugt i tidligere Mozilla Firefox builds er udgรฅet, og kun GeckoDriver-implementeringen kan bruges i dag. Testere skal derfor bruge GeckoDriver til at kรธre automatiserede tests pรฅ Mozilla. Firefox version 47.0 og nyere.
Den stรธrste fordel ved at bruge GeckoDriver i forhold til den รฆldre version Firefox chauffรธren er kompatibilitetGeckoDriver er afhรฆngig af W3C WebDriver protokol at kommunikere med SeleniumW3C er en universelt defineret standard for WebDriver. Det betyder Selenium Udviklere behรธver ikke at oprette en ny driverversion for hver browserudgivelse. Den samme WebDriver-implementering kan bruges pรฅ tvรฆrs af flere browserversioner, hvilket er grunden til, at GeckoDriver foretrรฆkkes frem for den รฆldre. Firefox chauffรธr.
Sรฅdan downloades og installeres GeckoDriver i Selenium
GeckoDriver distribueres som en eksekverbar fil, der kan downloades direkte til dit system. Fรธlg nedenstรฅende trin for at downloade og installere GeckoDriver til Selenium automatisering.
Trin 1) Vรฆlg den relevante version.
Pรฅ den officielle udgivelsesside https://github.com/mozilla/geckodriver/releases, vรฆlg den passende GeckoDriver-version, der matcher dit operativsystem og din arkitektur.
Trin 2) ExtracZIP-filen.
Nรฅr download af ZIP-filen er fรฆrdig, f.eks.tracgem dens indhold i en mappe pรฅ din maskine.
Trin 3) Bemรฆrk fรธrerens placering.
Notรฉr stien til mappen, hvor du hartracdownloadede driveren. Denne placering vil senere blive brugt til at instantiere driveren fra dit testscript.
Mรฅder at initialisere GeckoDriver pรฅ
Der er tre forskellige mรฅder at initialisere GeckoDriver pรฅ i din Selenium testscripts. Vรฆlg det, der bedst passer til dit testframework, og Selenium version.
1. Brug af DesiredCapabilities
Fรธrst skal du indstille systemegenskaben for GeckoDriver.
Syntaks:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Eksempel:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Dernรฆst skal du indstille de รธnskede egenskaber. Hjรฆlp til de รธnskede egenskaber Selenium Forstรฅ browsernavnet, versionen og operativsystemet, der krรฆves for at udfรธre de automatiserede tests. Nedenfor er koden til at konfigurere GeckoDriver ved hjรฆlp af DesiredCapabilities-klassen.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Her er den komplette kode:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Ved brug af Marionette Ejendom
GeckoDriver kan ogsรฅ initialiseres ved hjรฆlp af marionette-egenskaben som vist nedenfor.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Hvis GeckoDriver initialiseres ved hjรฆlp af ovenstรฅende metode, er koden for รธnskede funktioner ikke krรฆves.
3. Ved brug af FirefoxIndstillinger
Mozilla Firefox version 47+ afslรธrer Marionette-driveren som et รฆldre system. Ved at udnytte dette, Marionette-driveren kan kaldes via Firefox Valgmuligheder som vist nedenfor.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code til lancering Firefox Brug af GeckoDriver
Fรธlgende JUnit-baseret eksempel viser et komplet, kรธrbart Selenium test, der starter Firefox gennem 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 metode
I starten satte vi systemegenskaben for GeckoDriver til downloadplaceringen for geckodriver.exe. Vi satte ogsรฅ marionette-egenskaben til sand, sรฅ Selenium anvender Marionette-protokol til at kommunikere med GeckoDriver. Endelig starter vi Firefox browserinstans ved hjรฆlp af objektet Desired Capabilities.
Fรธlgende udsagn opnรฅr denne opsรฆtning.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Testmetode
Vi navigerer til den brugerdefinerede URL ved hjรฆlp af den indbyggede get metode leveret af Selenium WebDriver, som vist nedenfor.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@Efter metode
Til sidst lukker vi browserinstansen ved hjรฆlp af quit fremgangsmรฅde.
driver.quit();
รndre et script for ikke-gecko til gecko
Ikke-GeckoDriver-scripts brugt fรธr Selenium 3 var ligetil. Du oprettede blot en instans af Firefox driveren og brugte instansvariablen.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
For at konvertere scriptet til GeckoDriver skal du kun tilfรธje รฉn linje kode, der peger pรฅ geckodriver.exe-placeringen.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Almindelige undtagelser opstod under brug af GeckoDriver
Fรธlgende er en liste over almindelige undtagelser, der opstรฅr, nรฅr du bruger GeckoDriver, sammen med deres lรธsninger.



