Laden Sie Geckodriver herunter für Firefox & Selenium
⚡ Intelligente Zusammenfassung
GeckoDriver für Firefox und Selenium fungiert als Vermittler zwischen W3C WebDriver-Clients und Mozilla Firefox, Übersetzung von Befehlen in die MariOnette-Protokoll. Dieser Leitfaden erläutert Installation, Initialisierungstechniken, Beispielcode, häufige Ausnahmen und Vorteile der Kernkompatibilität.

Was ist GeckoDriver? Selenium?
Der Begriff Gecko steht für eine in Mozilla integrierte Webbrowser-Engine. Firefox Browser. GeckoDriver fungiert als Proxy zwischen WebDriver-fähigen Clients (Eclipse, NetBeans, IntelliJ IDEAusw.) und die Mozilla Firefox Browser. Kurz gesagt, GeckoDriver dient als Bindeglied zwischen Selenium WebDriver-Tests und Mozilla Firefox.
Vorher Selenium 3, die Mozilla Firefox Browser war der Standardbrowser für Selenium. Nach Selenium 3. Die Tester müssen das Skript initialisieren, um es zu verwenden. Firefox explizit über GeckoDriver. Selenium verwendet das W3C WebDriver-Protokoll, um Anfragen an GeckoDriver zu senden, der diese in ein Protokoll namens übersetzt. MariOnette. Firefox versteht dann die Befehle transmitted in der Marionette-Protokollformat und führt sie aus.
Vorteile der Verwendung von GeckoDriver
Selenium WebDriver Version 2.53 ist nicht mit Mozilla kompatibel. Firefox Version 47.0+. Die ältere Version Firefox Treiber, der in früheren Mozilla-Versionen verwendet wurde Firefox Die Build-Funktion wurde eingestellt, und es kann heute nur noch die GeckoDriver-Implementierung verwendet werden. Tester müssen daher GeckoDriver verwenden, um automatisierte Tests auf Mozilla auszuführen. Firefox Version 47.0 und höher.
Der größte Vorteil der Verwendung von GeckoDriver gegenüber dem Vorgängersystem Firefox Fahrer ist KompatibilitätGeckoDriver basiert auf der W3C WebDriver-Protokoll kommunizieren mit SeleniumW3C ist ein universell definierter Standard für WebDriver. Das bedeutet Selenium Entwickler müssen nicht für jede Browserversion eine neue Treiberversion erstellen. Dieselbe WebDriver-Implementierung kann in verschiedenen Browserversionen verwendet werden, weshalb GeckoDriver gegenüber dem älteren Treiber bevorzugt wird. Firefox Treiber.
So laden Sie GeckoDriver herunter und installieren es Selenium
GeckoDriver wird als ausführbare Datei bereitgestellt, die direkt auf Ihr System heruntergeladen werden kann. Befolgen Sie die unten stehenden Schritte, um GeckoDriver herunterzuladen und zu installieren. Selenium Automatisierung.
Schritt 1) Wählen Sie die entsprechende Version aus.
Auf der offiziellen Veröffentlichungsseite https://github.com/mozilla/geckodriver/releasesWählen Sie den passenden GeckoDriver-Build, der zu Ihrem Betriebssystem und Ihrer Architektur passt.
Schritt 2) Extract die ZIP-Datei.
Sobald der Download der ZIP-Datei abgeschlossen ist, z. B.tracFüge seinen Inhalt einem Ordner auf deinem Rechner hinzu.
Schritt 3) Beachten Sie den Standort des Fahrers.
Notieren Sie den Ordnerpfad, in dem SietracDer Treiber wurde an dieser Stelle initialisiert. Dieser Speicherort wird später verwendet, um den Treiber aus Ihrem Testskript zu instanziieren.
Möglichkeiten zur Initialisierung von GeckoDriver
Es gibt drei verschiedene Möglichkeiten, GeckoDriver in Ihrem System zu initialisieren. Selenium Testskripte. Wählen Sie dasjenige aus, das am besten zu Ihrem Testframework passt, und Selenium Version.
1. Verwendung von DesiredCapabilities
Zuerst muss die Systemeigenschaft für GeckoDriver festgelegt werden.
Syntax:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Ejemplo:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Als Nächstes legen Sie die gewünschten Fähigkeiten fest. Die gewünschten Fähigkeiten helfen dabei. Selenium Ermitteln Sie Browsername, Version und Betriebssystem, die für die Ausführung der automatisierten Tests erforderlich sind. Nachfolgend finden Sie den Code zur Konfiguration von GeckoDriver mithilfe der Klasse „DesiredCapabilities“.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Hier ist der vollständige Code:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Verwendung Marionette Property
GeckoDriver kann auch mithilfe der Marionette-Eigenschaft initialisiert werden, wie unten gezeigt.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Wenn GeckoDriver mit der oben genannten Methode initialisiert wird, lautet der Code für die gewünschten Fähigkeiten: kein Frontalunterricht. erforderlich.
3. Verwendung FirefoxOptionen
Mozilla Firefox Version 47+ legt die MariOnette-Treiber als Legacy-System. Dies ausnutzend, MariDer Onette-Treiber kann aufgerufen werden durch Firefox Optionen wie unten dargestellt.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code zum Starten Firefox Verwendung von GeckoDriver
Folgende JUnitDas Beispiel zeigt ein vollständiges, ausführbares Programm. Selenium Test, der startet Firefox über GeckoDriver und navigiert zu einer 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 Erläuterung
@Before-Methode
Zunächst haben wir die Systemeigenschaft für GeckoDriver auf den Downloadort von geckodriver.exe gesetzt. Außerdem haben wir die Marionetteneigenschaft auf „true“ gesetzt. Selenium verwendet das Marionette-Protokoll zur Kommunikation mit GeckoDriver. Schließlich starten wir Firefox Browserinstanz, die das Objekt „Desired Capabilities“ verwendet.
Die folgenden Anweisungen bewirken diese Konfiguration.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Testmethode
Wir navigieren zum vom Benutzer angegebenen URL mit dem eingebauten get Methode bereitgestellt von Selenium WebDriver, wie unten dargestellt.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@After-Methode
Schließlich schließen wir die Browserinstanz mit dem quit Methode.
driver.quit();
Ein Skript für Nicht-Geckos an Geckos anpassen
Nicht-GeckoDriver-Skripte, die zuvor verwendet wurden Selenium 3 war unkompliziert. Sie haben einfach eine Instanz von Firefox Der Treiber wurde verwendet und die Instanzvariable genutzt.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Um das Skript für GeckoDriver zu konvertieren, müssen Sie lediglich eine Codezeile hinzufügen, die auf den Speicherort der Datei geckodriver.exe verweist.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Häufige Ausnahmen bei der Verwendung von GeckoDriver
Nachfolgend finden Sie eine Liste häufiger Ausnahmen, die bei der Verwendung von GeckoDriver auftreten können, sowie deren Lösungen.



