Téléchargez Geckodriver pour Firefox & Selenium
⚡ Résumé intelligent
GeckoDriver pour Firefox et Selenium agit comme un intermédiaire entre les clients W3C WebDriver et Mozilla Firefox, traduisant les commandes en MariProtocole Onette. Ce guide explique l'installation, les techniques d'initialisation, des exemples de code, les exceptions courantes et les avantages en matière de compatibilité avec le noyau.

Qu'est-ce que GeckoDriver dans Selenium?
Le terme Gecko désigne un moteur de navigateur web intégré à Mozilla. Firefox navigateur. GeckoDriver agit comme un proxy entre les clients compatibles WebDriver (Eclipse, NetBeans, IntelliJ IDEA, etc.) et Mozilla Firefox navigateur. En bref, GeckoDriver sert de lien entre Selenium Tests WebDriver et Mozilla Firefox.
Avant Selenium 3, le Mozilla Firefox Le navigateur était le navigateur par défaut pour Selenium. Après Selenium 3. Les testeurs doivent initialiser le script pour l'utiliser. Firefox via GeckoDriver explicitement. Selenium utilise le protocole WebDriver du W3C pour envoyer des requêtes à GeckoDriver, qui les traduit en un protocole nommé Marionette. Firefox comprend alors les commandes transmitted dans le Mariformate et exécute le protocole onette.
Avantages de l'utilisation de GeckoDriver
Selenium WebDriver version 2.53 n'est pas compatible avec Mozilla Firefox Version 47.0+. L'ancienne version Firefox pilote utilisé dans les versions précédentes de Mozilla Firefox Les compilations ont été abandonnées et seule l'implémentation GeckoDriver peut être utilisée aujourd'hui. Les testeurs sont donc tenus d'utiliser GeckoDriver pour exécuter des tests automatisés sur Mozilla. Firefox version 47.0 et supérieure.
Le principal avantage de l'utilisation de GeckoDriver par rapport à l'ancienne version est que cette dernière offre un avantage considérable. Firefox le conducteur est compatibilitéGeckoDriver s'appuie sur Protocole W3C WebDriver communiquer avec SeleniumLe W3C est une norme universellement définie pour WebDriver. Cela signifie Selenium Les développeurs n'ont plus besoin de créer une nouvelle version de pilote pour chaque nouvelle version de navigateur. La même implémentation de WebDriver peut être utilisée sur plusieurs versions de navigateurs, ce qui explique la préférence pour GeckoDriver par rapport aux anciennes versions. Firefox chauffeur.
Comment télécharger et installer GeckoDriver dans Selenium
GeckoDriver est distribué sous forme de fichier exécutable téléchargeable directement sur votre système. Suivez les étapes ci-dessous pour télécharger et installer GeckoDriver. Selenium automatisation.
Étape 1) Sélectionnez la version appropriée.
Sur la page des communiqués officiels https://github.com/mozilla/geckodriver/releases, choisissez la version de GeckoDriver appropriée qui correspond à votre système d'exploitation et à votre architecture.
Étape 2) Extracdans le fichier ZIP.
Une fois le téléchargement du fichier ZIP terminé, extracTransférez son contenu dans un dossier sur votre ordinateur.
Étape 3) Notez l'emplacement du conducteur.
Enregistrez le chemin d'accès au dossier où vous extracLe pilote a été créé. Cet emplacement sera utilisé ultérieurement pour instancier le pilote à partir de votre script de test.
Méthodes d'initialisation de GeckoDriver
Il existe trois manières différentes d'initialiser GeckoDriver dans votre Selenium Scripts de test. Choisissez celui qui convient le mieux à votre framework de test et Selenium version.
1. Utilisation des capacités souhaitées
Commencez par définir la propriété système pour GeckoDriver.
syntaxe:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
Exemple :
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Ensuite, définissez les fonctionnalités souhaitées. Les fonctionnalités souhaitées permettent de… Selenium Il est nécessaire de connaître le nom du navigateur, sa version et le système d'exploitation requis pour exécuter les tests automatisés. Le code ci-dessous permet de configurer GeckoDriver à l'aide de la classe DesiredCapabilities.
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
Voici le code complet:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2. Utilisation MariPropriété Onette
GeckoDriver peut également être initialisé à l'aide de la propriété marionnette, comme indiqué ci-dessous.
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Si GeckoDriver est initialisé à l'aide de la méthode ci-dessus, le code Desired Capabilities est pas nécessaire.
3. Utilisation FirefoxOptions
Mozilla Firefox La version 47+ expose MariLe pilote onette en tant que système hérité. Tirant parti de cela, le MariLe pilote onette peut être invoqué via Firefox Options présentées ci-dessous.
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code pour le lancement Firefox Utilisation de GeckoDriver
JUnitL'exemple basé sur - montre un exemple complet et exécutable Selenium test qui lance Firefox via GeckoDriver et accède à une démo 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 Explication
Méthode @Avant
Initialement, nous avons défini la propriété système de GeckoDriver sur l'emplacement de téléchargement de geckodriver.exe. Nous avons également défini la propriété marionnette sur true. Selenium utilise l' MariProtocole Onette pour communiquer avec GeckoDriver. Enfin, nous démarrons le Firefox Instance de navigateur utilisant l'objet Desired Capabilities.
Les instructions suivantes permettent d'obtenir cette configuration.
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@Méthode d'essai
Nous naviguons vers l'emplacement spécifié par l'utilisateur URL en utilisant le intégré get méthode fournie par Selenium WebDriver, comme indiqué ci-dessous.
driver.get("https://demo.guru99.com/selenium/guru99home/");
Méthode @After
Enfin, nous fermons l'instance du navigateur en utilisant le quit méthode.
driver.quit();
Modifier un script pour non-Gecko en Gecko
Scripts non-GeckoDriver utilisés avant Selenium Les 3 étaient simples. Il suffisait de créer une instance de Firefox pilote et a utilisé la variable d'instance.
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
Pour convertir le script pour GeckoDriver, il suffit d'ajouter une seule ligne de code qui pointe vers l'emplacement de geckodriver.exe.
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
Des exceptions courantes se sont produites lors de l'utilisation de GeckoDriver
Vous trouverez ci-dessous une liste des exceptions courantes qui surviennent lors de l'utilisation de GeckoDriver, ainsi que leurs solutions.



