Scarica Geckodriver per Firefox & Selenium
โก Riepilogo intelligente
GeckoDriver per Firefox and Selenium funge da proxy tra i client W3C WebDriver e Mozilla Firefox, traducendo i comandi in MariProtocollo Onette. Questa guida illustra l'installazione, le tecniche di inizializzazione, il codice di esempio, le eccezioni comuni e i principali vantaggi in termini di compatibilitร .

In cosa consiste GeckoDriver Selenium?
Il termine Gecko indica un motore di browser web integrato in Mozilla Firefox browser. GeckoDriver funge da proxy tra i client abilitati a WebDriver (Eclipse, NetBeans, IntelliJ IDEA, ecc.) e Mozilla Firefox browser. In breve, GeckoDriver funge da collegamento tra Selenium Test di WebDriver e Mozilla Firefox.
Before Selenium 3, la Mozilla Firefox browser era il browser predefinito per Selenium. Dopo Selenium 3, i tester devono inizializzare lo script per utilizzarlo Firefox tramite GeckoDriver in modo esplicito. Selenium utilizza il protocollo W3C WebDriver per inviare richieste a GeckoDriver, che le traduce in un protocollo denominato Marionetta. Firefox quindi comprende i comandi transmitted nel Mariformato di protocollo onette e li esegue.
Vantaggi dell'utilizzo di GeckoDriver
Selenium La versione 2.53 di WebDriver non รจ compatibile con Mozilla Firefox versione 47.0+. La versione legacy Firefox driver utilizzato in Mozilla precedente Firefox Il supporto per le build รจ stato interrotto e oggi รจ possibile utilizzare solo l'implementazione GeckoDriver. Pertanto, i tester sono tenuti a utilizzare GeckoDriver per eseguire i test automatizzati su Mozilla. Firefox versione 47.0 e successive.
Il principale vantaggio dell'utilizzo di GeckoDriver rispetto al sistema legacy Firefox autista รจ compatibilitร . GeckoDriver si basa su Protocollo W3C WebDriver con cui comunicare SeleniumIl W3C รจ uno standard definito universalmente per WebDriver. Ciรฒ significa Selenium Gli sviluppatori non hanno bisogno di creare una nuova versione del driver per ogni rilascio del browser. La stessa implementazione di WebDriver puรฒ essere utilizzata su piรน versioni del browser, motivo per cui GeckoDriver รจ preferito rispetto alle versioni precedenti. Firefox conducente.
Come scaricare e installare GeckoDriver in Selenium
GeckoDriver viene distribuito come file eseguibile che puรฒ essere scaricato direttamente sul sistema. Segui i passaggi seguenti per scaricare e installare GeckoDriver per Selenium automazione.
Passo 1) Seleziona la versione appropriata.
Sulla pagina delle pubblicazioni ufficiali https://github.com/mozilla/geckodriver/releases, scegli la build di GeckoDriver appropriata che corrisponde al tuo sistema operativo e alla tua architettura.
Passo 2) Extracil file ZIP.
Una volta completato il download del file ZIP, es.tractrasferisci il suo contenuto in una cartella sul tuo computer.
Passo 3) Annotare la posizione del conducente.
Registra il percorso della cartella in cui ti trovitracha creato il driver. Questa posizione verrร utilizzata in seguito per istanziare il driver dallo script di test.
Metodi per inizializzare GeckoDriver
Esistono tre modi diversi per inizializzare GeckoDriver nel tuo Selenium script di test. Scegli quello che meglio si adatta al tuo framework di test e Selenium versione.
1. Utilizzo delle capacitร desiderate
Innanzitutto, imposta la proprietร di sistema per GeckoDriver.
Sintassi:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Esempio:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Successivamente, imposta le capacitร desiderate. Le capacitร desiderate aiutano Selenium Comprendere il nome del browser, la versione e il sistema operativo necessari per eseguire i test automatizzati. Di seguito รจ riportato il codice per configurare GeckoDriver utilizzando la classe DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Ecco il codice completo:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Utilizzando MariProprietร Onette
GeckoDriver puรฒ essere inizializzato anche utilizzando la proprietร marionette, come mostrato di seguito.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Se GeckoDriver viene inizializzato utilizzando il metodo sopra descritto, il codice Desired Capabilities รจ non รจ un richiesto.
3. Utilizzando FirefoxOpzioni
Mozilla Firefox la versione 47+ espone il Mariun driver onette come sistema legacy. Approfittando di ciรฒ, il Marionette driver puรฒ essere richiamato tramite Firefox Opzioni come mostrato di seguito.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code per il lancio Firefox Utilizzo di GeckoDriver
Le seguenti JUnit-l'esempio basato mostra un completo eseguibile Selenium test che si avvia Firefox tramite GeckoDriver e naviga verso una 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 Spiegazione
Metodo @Prima
Inizialmente, abbiamo impostato la proprietร di sistema per GeckoDriver sulla posizione di download di geckodriver.exe. Abbiamo anche impostato la proprietร marionette su true, quindi Selenium utilizza l' Mariun protocollo per comunicare con GeckoDriver. Infine, avviamo il Firefox Istanza del browser che utilizza l'oggetto Desired Capabilities.
Le seguenti istruzioni consentono di realizzare questa configurazione.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Metodo di prova
Ci spostiamo verso l'utente specificato URL utilizzando il built-in get metodo fornito da Selenium WebDriver, come mostrato di seguito.
driver.get("https://demo.guru99.com/selenium/guru99home/");
Metodo @Dopo
Infine, chiudiamo l'istanza del browser utilizzando il quit metodo.
driver.quit();
Modificare uno script da Non-Gecko a Gecko
Script non GeckoDriver utilizzati in precedenza Selenium 3 erano semplici. Hai semplicemente creato un'istanza del Firefox driver e ha utilizzato la variabile regola.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Per convertire lo script per GeckoDriver, รจ sufficiente aggiungere una sola riga di codice che indichi il percorso del file geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Si sono verificate delle eccezioni comuni durante l'utilizzo di GeckoDriver
Di seguito รจ riportato un elenco delle eccezioni piรน comuni che si verificano durante l'utilizzo di GeckoDriver, insieme alle relative soluzioni.



