Descargar Geckodriver para Firefox & Selenium
โก Resumen inteligente
GeckoDriver para Firefox y Selenium actรบa como un proxy entre los clientes de W3C WebDriver y Mozilla Firefox, traduciendo comandos al MariProtocolo onette. Esta guรญa explica la instalaciรณn, las tรฉcnicas de inicializaciรณn, el cรณdigo de ejemplo, las excepciones comunes y las ventajas de compatibilidad principales.

ยฟEn quรฉ consiste GeckoDriver? Selenium?
El tรฉrmino Gecko hace referencia al motor del navegador web integrado en Mozilla. Firefox navegador. GeckoDriver actรบa como un proxy entre clientes habilitados para WebDriver (Eclipse, NetBeans, IntelliJ IDEA, etc.) y Mozilla Firefox navegador. En resumen, GeckoDriver sirve como enlace entre Selenium Pruebas de WebDriver y Mozilla Firefox.
Antes Selenium 3, el Mozilla Firefox El navegador era el navegador predeterminado para Selenium. Despuรฉs Selenium 3. Los evaluadores deben inicializar el script para usarlo. Firefox a travรฉs de GeckoDriver explรญcitamente. Selenium utiliza el protocolo W3C WebDriver para enviar solicitudes a GeckoDriver, que las traduce a un protocolo llamado Marioneta. Firefox entonces entiende las รณrdenes transmitted en el MariFormato de protocolo Onette y los ejecuta.
Ventajas de usar GeckoDriver
Selenium La versiรณn 2.53 de WebDriver no es compatible con Mozilla. Firefox versiรณn 47.0+. El legado Firefox controlador utilizado en versiones anteriores de Mozilla Firefox Las compilaciones se han descontinuado y hoy solo se puede usar la implementaciรณn de GeckoDriver. Por lo tanto, los evaluadores deben usar GeckoDriver para ejecutar pruebas automatizadas en Mozilla. Firefox versiรณn 47.0 y superior.
La principal ventaja de usar GeckoDriver sobre el sistema heredado Firefox conductor es compatibilidadGeckoDriver se basa en el Protocolo W3C WebDriver para comunicarse con Selenium. W3C es un estรกndar definido universalmente para WebDriver. Esto significa Selenium Los desarrolladores no necesitan crear una nueva versiรณn del controlador para cada lanzamiento del navegador. La misma implementaciรณn de WebDriver se puede usar en varias versiones del navegador, razรณn por la cual se prefiere GeckoDriver a la versiรณn anterior. Firefox conductor.
Cรณmo descargar e instalar GeckoDriver en Selenium
GeckoDriver se distribuye como un archivo ejecutable que se puede descargar directamente en su sistema. Siga los pasos a continuaciรณn para descargar e instalar GeckoDriver para Selenium automatizaciรณn.
Paso 1) Seleccione la versiรณn adecuada.
En la pรกgina de lanzamientos oficiales https://github.com/mozilla/geckodriver/releasesElija la versiรณn de GeckoDriver adecuada que coincida con su sistema operativo y arquitectura.
Paso 2) Extracen el archivo ZIP.
Una vez que se complete la descarga del archivo ZIP, extraccopie su contenido en una carpeta de su mรกquina.
Paso 3) Anote la ubicaciรณn del conductor.
Anote la ruta de la carpeta donde se encuentratracted el controlador. Esta ubicaciรณn se utilizarรก mรกs adelante para instanciar el controlador desde su script de prueba.
Formas de inicializar GeckoDriver
Hay tres formas diferentes de inicializar GeckoDriver en su Selenium scripts de prueba. Elija el que mejor se adapte a su marco de pruebas y Selenium versiรณn.
1. Uso de capacidades deseadas
Primero, configure la propiedad del sistema para GeckoDriver.
Sintaxis:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Ejemplo:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
A continuaciรณn, configure las Capacidades deseadas. Las Capacidades deseadas ayudan Selenium Comprenda el nombre del navegador, la versiรณn y el sistema operativo necesarios para ejecutar las pruebas automatizadas. A continuaciรณn se muestra el cรณdigo para configurar GeckoDriver utilizando la clase DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Aquรญ estรก el cรณdigo completo:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Usando MariPropiedad Onette
GeckoDriver tambiรฉn se puede inicializar utilizando la propiedad marionette como se muestra a continuaciรณn.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Si GeckoDriver se inicializa utilizando el mรฉtodo anterior, el cรณdigo de Capacidades deseadas es No requerida.
3. Usando FirefoxOpciones
Mozilla Firefox La versiรณn 47+ expone la MariEl controlador de la onette como sistema heredado. Aprovechando esto, el MariEl controlador Onette se puede invocar a travรฉs de Firefox Opciones como se muestra a continuaciรณn.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code para el lanzamiento Firefox Usando GeckoDriver
Las siguientes JUnitEl ejemplo basado en muestra un ejemplo completo y ejecutable. Selenium prueba que se lanza Firefox a travรฉs de GeckoDriver y navega a una demostraciรณn 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 Explicaciรณn
@antes del mรฉtodo
Inicialmente, configuramos la propiedad del sistema para GeckoDriver a la ubicaciรณn de descarga de geckodriver.exe. Tambiรฉn configuramos la propiedad marionette a verdadero, por lo que Selenium utiliza el MariProtocolo onette para comunicarse con GeckoDriver. Finalmente, comenzamos el Firefox Instancia del navegador que utiliza el objeto Capacidades deseadas.
Las siguientes instrucciones logran esta configuraciรณn.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Mรฉtodo de prueba
Navegamos a la ubicaciรณn especificada por el usuario. URL usando el built-in get mรฉtodo proporcionado por Selenium WebDriver, como se muestra a continuaciรณn.
driver.get("https://demo.guru99.com/selenium/guru99home/");
@Despuรฉs del mรฉtodo
Finalmente, cerramos la instancia del navegador usando el quit mรฉtodo.
driver.quit();
Modificar un script para convertir un gecko en un gecko.
Scripts que no son de GeckoDriver utilizados anteriormente Selenium 3 fueron sencillos. Simplemente creaste una instancia de la Firefox controlador y utilizรณ la variable de instancia.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Para convertir el script para GeckoDriver, solo necesita agregar una lรญnea de cรณdigo que apunte a la ubicaciรณn de geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Excepciones comunes ocurridas al usar GeckoDriver
A continuaciรณn se presenta una lista de excepciones comunes que ocurren al usar GeckoDriver, junto con sus soluciones.



