Descărcați Geckodriver pentru Firefox & Selenium
⚡ Rezumat inteligent
GeckoDriver pentru Firefox și Selenium acționează ca un proxy între clienții W3C WebDriver și Mozilla Firefox, traducând comenzile în MariProtocolul onette. Acest ghid explică instalarea, tehnicile de inițializare, codul exemplu, excepțiile comune și avantajele compatibilității de bază.

În ce este GeckoDriver Selenium?
Termenul Gecko reprezintă un motor de browser web încorporat în Mozilla Firefox browser. GeckoDriver acționează ca proxy între clienții compatibili cu WebDriver (Eclipse, NetBeans, IntelliJ IDEA, etc.) și Mozilla Firefox browser. Pe scurt, GeckoDriver servește ca o legătură între Selenium Teste WebDriver și Mozilla Firefox.
Inainte Selenium 3, Mozilla Firefox browser a fost browserul implicit pentru Selenium. După Selenium 3, testerii trebuie să inițializeze scriptul pentru a-l utiliza Firefox prin GeckoDriver în mod explicit. Selenium utilizează protocolul W3C WebDriver pentru a trimite cereri către GeckoDriver, care le traduce într-un protocol numit Marionette. Firefox apoi înțelege comenzile transmitted în Mariformatează protocolul onette și le execută.
Avantajul utilizării GeckoDriver
Selenium Versiunea 2.53 a WebDriver nu este compatibilă cu Mozilla Firefox versiunea 47.0+. Moștenirea Firefox driver folosit în versiunile anterioare ale Mozilla Firefox Versiunile au fost întrerupte și doar implementarea GeckoDriver poate fi utilizată astăzi. Prin urmare, testerii sunt obligați să utilizeze GeckoDriver pentru a rula teste automate pe Mozilla. Firefox versiunea 47.0 și mai sus.
Principalul avantaj al utilizării GeckoDriver față de versiunea veche Firefox șoferul este compatibilitateGeckoDriver se bazează pe Protocolul W3C WebDriver pentru a comunica cu SeleniumW3C este un standard definit universal pentru WebDriver. Aceasta înseamnă Selenium Dezvoltatorii nu trebuie să creeze o nouă versiune de driver pentru fiecare versiune de browser. Aceeași implementare WebDriver poate fi utilizată în mai multe versiuni de browser, motiv pentru care GeckoDriver este preferat față de versiunea mai veche. Firefox conducător auto.
Cum să descărcați și să instalați GeckoDriver în Selenium
GeckoDriver este distribuit ca fișier executabil care poate fi descărcat direct pe sistemul dvs. Urmați pașii de mai jos pentru a descărca și instala GeckoDriver pentru Selenium automatizare.
Pas 1) Selectați versiunea corespunzătoare.
Pe pagina oficială a lansărilor https://github.com/mozilla/geckodriver/releases, alegeți versiunea GeckoDriver corespunzătoare sistemului de operare și arhitecturii dvs.
Pas 2) Extracfișierul ZIP.
După finalizarea descărcării fișierului ZIP, de ex.tracstocați conținutul său într-un folder de pe computer.
Pas 3) Rețineți locația șoferului.
Înregistrați calea folderului unde ați extraca creat driverul. Această locație va fi utilizată ulterior pentru a instanția driverul din scriptul de testare.
Modalități de inițializare a GeckoDriver
Există trei moduri diferite de a inițializa GeckoDriver în Selenium scripturi de testare. Alegeți-l pe cel care se potrivește cel mai bine cadrului dvs. de testare și Selenium versiune.
1. Utilizarea DesiredCapabilities
Mai întâi, setați proprietatea de sistem pentru GeckoDriver.
Sintaxă:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Exemplu:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Apoi, setați Capacitățile dorite. Ajutor pentru Capacitățile dorite Selenium Înțelegeți numele browserului, versiunea și sistemul de operare necesare pentru executarea testelor automate. Mai jos este codul pentru configurarea GeckoDriver folosind clasa DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Iată codul complet:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Utilizarea MariProprietatea onette
GeckoDriver poate fi inițializat și folosind proprietatea marionette, așa cum se arată mai jos.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Dacă GeckoDriver este inițializat folosind metoda de mai sus, codul Desired Capabilities este nu necesar.
3. Utilizarea FirefoxOpţiuni
Mozilla Firefox versiunea 47+ expune Maridriverul onette ca sistem moștenit. Profitând de acest lucru, Maridriverul onette poate fi invocat prin Firefox Opțiunile sunt așa cum se arată mai jos.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code pentru lansare Firefox Utilizarea GeckoDriver
Următoarele JUnitUn exemplu bazat pe - arată o versiune completă, rulabilă Selenium test care lansează Firefox prin GeckoDriver și navighează către o demonstrație 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 Explicație
Metoda @Inainte
Inițial, am setat proprietatea de sistem pentru GeckoDriver la locația de descărcare geckodriver.exe. De asemenea, am setat proprietatea marionette la true, astfel încât Selenium folosește Mariprotocolul onette pentru a comunica cu GeckoDriver. În cele din urmă, începem Firefox instanță de browser folosind obiectul Desired Capabilities.
Următoarele instrucțiuni realizează această configurație.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Metoda de test
Navigăm la locația specificată de utilizator URL folosind dispozitivul încorporat get metoda oferita de Selenium WebDriver, așa cum se arată mai jos.
driver.get("https://demo.guru99.com/selenium/guru99home/");
Metoda @După
În final, închidem instanța browserului folosind comanda quit metodă.
driver.quit();
Modificarea unui script pentru Non-Gecko în Gecko
Scripturi non-GeckoDriver utilizate anterior Selenium 3 au fost simple. Pur și simplu ai creat o instanță a Firefox driver și a folosit variabila de instanță.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Pentru a converti scriptul pentru GeckoDriver, trebuie doar să adăugați o linie de cod care indică locația geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Excepții frecvente apărute în timpul utilizării GeckoDriver
Următoarea este o listă de excepții comune care apar la utilizarea GeckoDriver, împreună cu rezolvările acestora.



