Ladda ner Geckodriver för Firefox & Selenium
⚡ Smart sammanfattning
GeckoDriver för Firefox och Selenium fungerar som en proxy mellan W3C WebDriver-klienter och Mozilla Firefox, översätter kommandon till Marionette-protokollet. Den här guiden förklarar installation, initialiseringstekniker, exempelkod, vanliga undantag och fördelar med kärnkompatibilitet.

Vad är GeckoDriver i Selenium?
Termen Gecko står för en webbläsarmotor inbyggd i Mozilla. Firefox webbläsare. GeckoDriver fungerar som en proxy mellan WebDriver-aktiverade klienter (Eclipse, NetBeans, IntelliJ IDEA, etc.) och Mozilla Firefox webbläsare. Kort sagt fungerar GeckoDriver som en länk mellan Selenium WebDriver-tester och Mozilla Firefox.
Innan Selenium 3, Mozilla Firefox webbläsare var standardwebbläsaren för Selenium. Efter Selenium 3, testare måste initiera skriptet för att använda Firefox explicit genom GeckoDriver. Selenium använder W3C WebDriver-protokollet för att skicka förfrågningar till GeckoDriver, som översätter dem till ett protokoll med namnet Marionette. Firefox förstår sedan kommandona transmitted i Marionette-protokollformatet och kör dem.
Fördel med att använda GeckoDriver
Selenium WebDriver version 2.53 är inte kompatibel med Mozilla Firefox version 47.0+. Arvet Firefox drivrutin som användes i tidigare Mozilla Firefox versioner har upphört, och endast GeckoDriver-implementeringen kan användas idag. Testare måste därför använda GeckoDriver för att köra automatiserade tester på Mozilla. Firefox version 47.0 och senare.
Den största fördelen med att använda GeckoDriver jämfört med den äldre versionen Firefox föraren är kompatibilitetGeckoDriver förlitar sig på W3C WebDriver-protokoll att kommunicera med SeleniumW3C är en universellt definierad standard för WebDriver. Detta innebär Selenium Utvecklare behöver inte skapa en ny drivrutinsversion för varje webbläsarversion. Samma WebDriver-implementering kan användas i flera webbläsarversioner, vilket är anledningen till att GeckoDriver är att föredra framför den äldre. Firefox förare.
Hur man laddar ner och installerar GeckoDriver i Selenium
GeckoDriver distribueras som en körbar fil som kan laddas ner direkt till ditt system. Följ stegen nedan för att ladda ner och installera GeckoDriver för Selenium automatisering.
Steg 1) Välj lämplig version.
På den officiella utgivningssidan https://github.com/mozilla/geckodriver/releases, välj lämplig GeckoDriver-version som matchar ditt operativsystem och din arkitektur.
Steg 2) Extract ZIP-filen.
När nedladdningen av ZIP-filen är klar, t.ex.traclägga in dess innehåll i en mapp på din maskin.
Steg 3) Notera förarens plats.
Anteckna mappsökvägen dit du ex.tracladdade drivrutinen. Den här platsen kommer att användas senare för att instansiera drivrutinen från ditt testskript.
Sätt att initiera GeckoDriver
Det finns tre olika sätt att initiera GeckoDriver i din Selenium testskript. Välj det som bäst passar ditt testramverk och Selenium versionen.
1. Använda DesiredCapabilities
Ställ först in systemegenskapen för GeckoDriver.
Syntax:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Exempel:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Ställ sedan in önskade funktioner. Hjälp med önskade funktioner Selenium förstå webbläsarens namn, version och operativsystem som krävs för att köra de automatiserade testerna. Nedan följer koden för att konfigurera GeckoDriver med hjälp av klassen DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Här är hela koden:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Använder sig av Marionette-fastigheten
GeckoDriver kan också initieras med hjälp av marionette-egenskapen som visas nedan.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Om GeckoDriver initieras med metoden ovan, är koden för önskade funktioner inte krävs.
3. Använder sig av FirefoxMontering
Mozilla Firefox version 47+ exponerar Marionette-drivrutinen som ett äldre system. Genom att dra nytta av detta, Marionette-drivrutinen kan anropas via Firefox Alternativ som visas nedan.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code för lansering Firefox Använda GeckoDriver
Följande JUnit-baserat exempel visar ett komplett, körbart Selenium test som startar Firefox via GeckoDriver och navigerar till 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 Förklaring
@Före-metoden
Ursprungligen satte vi systemegenskapen för GeckoDriver till nedladdningsplatsen för geckodriver.exe. Vi satte också marionette-egenskapen till true så att Selenium använder Marionette-protokollet för att kommunicera med GeckoDriver. Slutligen startar vi Firefox webbläsarinstans med hjälp av objektet Desired Capabilities.
Följande påståenden uppnår denna uppställning.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Testmetod
Vi navigerar till det användardefinierade URL använder den inbyggda get metod tillhandahållen av Selenium WebDriver, som visas nedan.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@Efter metoden
Slutligen stänger vi webbläsarinstansen med hjälp av quit metod.
driver.quit();
Ändra ett skript för icke-gecko till gecko
Icke-GeckoDriver-skript som använts tidigare Selenium 3 var enkla. Du skapade helt enkelt en instans av Firefox drivrutinen och använde instansvariabeln.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
För att konvertera skriptet för GeckoDriver behöver du bara lägga till en rad kod som pekar till platsen geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Vanliga undantag som inträffade vid användning av GeckoDriver
Följande är en lista över vanliga undantag som uppstår när du använder GeckoDriver, tillsammans med deras lösningar.



