Download Geckodriver voor Firefox & Selenium
โก Slimme samenvatting
GeckoDriver voor Firefox en Selenium fungeert als een proxy tussen W3C WebDriver-clients en Mozilla. Firefox, het vertalen van commando's naar de MariHet onette-protocol. Deze handleiding beschrijft de installatie, initialisatietechnieken, voorbeeldcode, veelvoorkomende uitzonderingen en de voordelen van compatibiliteit met de kern.

Waar zit GeckoDriver in Selenium?
De term Gecko staat voor een webbrowser-engine die is ingebouwd in Mozilla. Firefox browser. GeckoDriver fungeert als een proxy tussen WebDriver-compatibele clients (Eclipse, NetBeans, IntelliJ IDEA, enz.) en de Mozilla Firefox browser. Kortom, GeckoDriver fungeert als een schakel tussen Selenium WebDriver-tests en Mozilla Firefox.
Voor Selenium 3, de Mozilla Firefox browser was de standaardbrowser voor Selenium. Na Selenium 3. Testers moeten het script initialiseren om het te kunnen gebruiken. Firefox via GeckoDriver, expliciet. Selenium gebruikt het W3C WebDriver-protocol om verzoeken naar GeckoDriver te sturen, die deze vertaalt naar een protocol genaamd Marionette. Firefox dan begrijpt hij de commando's transmitted in de MariHet onette-protocolformaat wordt gebruikt en de bijbehorende uitvoeringen worden uitgevoerd.
Voordelen van het gebruik van GeckoDriver
Selenium WebDriver versie 2.53 is niet compatibel met Mozilla. Firefox versie 47.0+. De oude versie Firefox driver gebruikt in eerdere Mozilla-versies Firefox Het bouwen van de software is stopgezet en alleen de GeckoDriver-implementatie kan tegenwoordig nog worden gebruikt. Testers zijn daarom verplicht om GeckoDriver te gebruiken voor het uitvoeren van geautomatiseerde tests op Mozilla. Firefox versie 47.0 en hoger.
Het grootste voordeel van het gebruik van GeckoDriver ten opzichte van de oudere versies is het volgende: Firefox bestuurder is verenigbaarheidGeckoDriver is afhankelijk van de W3C WebDriver-protocol communiceren met SeleniumW3C is een universeel gedefinieerde standaard voor WebDriver. Dit betekent Selenium Ontwikkelaars hoeven niet voor elke nieuwe browserversie een nieuwe driverversie te maken. Dezelfde WebDriver-implementatie kan in meerdere browserversies worden gebruikt, en daarom heeft GeckoDriver de voorkeur boven de oudere versies. Firefox bestuurder.
Hoe GeckoDriver te downloaden en te installeren Selenium
GeckoDriver wordt gedistribueerd als een uitvoerbaar bestand dat direct naar uw systeem kan worden gedownload. Volg de onderstaande stappen om GeckoDriver te downloaden en te installeren. Selenium automatisering.
Stap 1) Selecteer de juiste versie.
Op de officiรซle releasepagina https://github.com/mozilla/geckodriver/releasesKies de juiste GeckoDriver-versie die overeenkomt met uw besturingssysteem en architectuur.
Stap 2) Extract het ZIP-bestand.
Zodra het downloaden van het ZIP-bestand is voltooid, extracPlaats de inhoud ervan in een map op uw computer.
Stap 3) Noteer de locatie van de bestuurder.
Noteer het mappad waar u zich bevindt.tracTed is de driver. Deze locatie wordt later gebruikt om de driver vanuit je testscript te instantiรซren.
Manieren om GeckoDriver te initialiseren
Er zijn drie verschillende manieren om GeckoDriver te initialiseren in uw systeem. Selenium testscripts. Kies het script dat het beste bij uw testframework past en Selenium versie.
1. Gewenste mogelijkheden gebruiken
Stel eerst de systeemeigenschap voor GeckoDriver in.
Syntax:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Voorbeeld:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Stel vervolgens de gewenste mogelijkheden in. Gewenste mogelijkheden helpen hierbij. Selenium De naam, versie en het besturingssysteem van de browser zijn vereist om de geautomatiseerde tests uit te voeren. Hieronder staat de code om GeckoDriver te configureren met behulp van de DesiredCapabilities-klasse.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Hier is de volledige code:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Gebruik Marionette-eigendom
GeckoDriver kan ook worden geรฏnitialiseerd met behulp van de marionet-eigenschap, zoals hieronder wordt weergegeven.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Als GeckoDriver wordt geรฏnitialiseerd met behulp van de bovenstaande methode, is de code voor de gewenste mogelijkheden als volgt: niet vereist.
3. Gebruik Firefoxopties
mozilla Firefox versie 47+ onthult de Marionette driver als een verouderd systeem. Door hiervan gebruik te maken, MariDe onette-driver kan worden aangeroepen via Firefox Opties zoals hieronder weergegeven.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code voor lancering Firefox GeckoDriver gebruiken
De volgende JUnitHet op - gebaseerde voorbeeld toont een compleet, werkend voorbeeld. Selenium test die wordt gelanceerd Firefox via GeckoDriver en navigeert naar een 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 Uitleg
@Before-methode
In eerste instantie hebben we de systeemparameter voor GeckoDriver ingesteld op de downloadlocatie van geckodriver.exe. We hebben ook de marionet-parameter op true gezet, zodat Selenium gebruikt MariHet onette-protocol wordt gebruikt om met GeckoDriver te communiceren. Tot slot starten we de Firefox Browserinstantie die gebruikmaakt van het Desired Capabilities-object.
De volgende instructies realiseren deze configuratie.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Test methode
We navigeren naar de door de gebruiker opgegeven locatie. URL gebruik de ingebouwde get methode aangeboden door Selenium WebDriver, zoals hieronder weergegeven.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@After-methode
Tot slot sluiten we het browserexemplaar af met behulp van de quit methode.
driver.quit();
Een script aanpassen voor niet-Gecko-gebruikers naar Gecko-gebruikers
Niet-GeckoDriver-scripts die eerder werden gebruikt Selenium 3 waren eenvoudig. Je maakte gewoon een instantie van de Firefox en gebruikte de instantievariabele.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Om het script voor GeckoDriver te converteren, hoeft u slechts รฉรฉn regel code toe te voegen die verwijst naar de locatie van geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Veelvoorkomende uitzonderingen die optraden tijdens het gebruik van GeckoDriver
Hieronder vindt u een lijst met veelvoorkomende uitzonderingen die zich voordoen bij het gebruik van GeckoDriver, samen met de oplossingen daarvoor.



