Téléchargez Geckodriver pour Firefox & Selenium pilote web
Qu'est-ce que GeckoDriver dans Selenium?
Le terme Gecko désigne un moteur de navigateur Web intégré à Mozilla. Firefox navigateur. Le pilote Gecko agit comme un proxy entre les clients compatibles avec le pilote Web (Eclipse, Netbeans, etc.) et Mozilla Firefox navigateur. En bref, le pilote Gecko agit comme un lien entre Selenium Tests de pilotes Web et Mozilla Firefox navigateur.
Avant Selenium 3, 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 en utilisant explicitement GeckoDriver. Selenium utilise le protocole W3C Webdriver pour envoyer des requêtes à GeckoDriver, qui les traduit en un protocole nommé Marionette. Firefox comprendra les commandes transmises sous forme de Marionette et les exécute.
Comment télécharger et installer GeckoDriver dans Selenium
Gecko Driver est disponible sous forme de fichier exécutable pouvant être téléchargé sur le système. Voici la liste des étapes pour télécharger le pilote gecko.
Étape 1 ) Sélectionnez la version appropriée.
A cette page https://github.com/mozilla/geckodriver/releases , Sélectionnez la version appropriée pour le téléchargement de GeckoDriver en fonction de votre système d'exploitation
Étape 2) Extrayez le fichier ZIP.
Une fois le téléchargement du fichier ZIP terminé, extrayez le contenu du fichier ZIP dans un dossier de fichiers.
Étape 3) Notez l'emplacement.
Notez l'emplacement où vous avez extrait le pilote. L'emplacement sera utilisé ultérieurement pour instancier le pilote.
Façons d'initialiser GeckoDriver
Il existe trois manières différentes d'initialiser GeckoDriver.
1. Utilisation des capacités souhaitées
Tout d’abord, définissez la propriété système pour Gecko Driver.
syntaxe:
System.setProperty("webdriver.gecko.driver","Path to geckdriver.exe file");
Mise en situation :
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Ensuite, définissez les capacités souhaitées.
Aide sur les capacités souhaitées Selenium pour comprendre le nom du navigateur, la version et le système d'exploitation pour exécuter les tests automatisés. Vous trouverez ci-dessous le code permettant de définir le pilote gecko à 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. Utiliser la propriété de la marionnette
Le pilote Gecko peut également être initialisé en utilisant la propriété marionnette comme ci-dessous
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
Si le pilote gecko est initialisé à l'aide de la méthode ci-dessus, le code des fonctionnalités souhaitées est pas nécessaire.
3. Utilisation FirefoxOptions
Mozilla Firefox la version 47+ a un pilote de marionnette comme système hérité. Profitant de cela, le conducteur de marionnette peut être appelé en utilisant Firefox Options comme ci-dessous
FirefoxOptions options = new FirefoxOptions(); options.setLegacy(true);
Code pour lancer Firefox à l'aide du pilote Gecko
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(); } }
Explication du code
Méthode @Avant
Dans un premier temps, nous devons définir la propriété système du pilote gecko sur l'emplacement de téléchargement du fichier geckdriver.exe. Nous devons définir la propriété marionnette sur true pour Selenium à utiliser Mariprotocole onette pour communiquer avec Gecko Driver. Enfin, nous devons commencer le Firefox instance de navigateur utilisant l'objet pour les capacités souhaitées.
Les déclarations ci-dessous aident à accomplir la tâche ci-dessus.
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'URL spécifiée par l'utilisateur à l'aide de la méthode « get » intégrée fournie par Selenium pilote Web. La déclaration ci-dessous aide à réaliser la même chose.
driver.get("https://demo.guru99.com/selenium/guru99home/");
Méthode @After
Enfin, nous fermons l'instance du navigateur en utilisant la méthode quit.
driver.quit();
Modifier un script pour un non-Gecko en Gecko
Script de pilote non-gecko utilisé auparavant Selenium 3 était simple. Nous devons créer une instance de Firefox pilote et utilisez la variable d’instance.
@Before public void startBrowser() { driver = new FirefoxDriver(); }
Pour convertir en gecko, vous devez simplement ajouter une ligne de code
@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 Gecko Driver
Voici une liste des exceptions courantes qui se produisent lors de l'utilisation de Gecko Driver et de la résolution.
Avantage d'utiliser Gecko Driver
Selenium La version 2.53 de Webdriver n'est pas compatible avec Mozilla Firefox version 47.0+. Le Firefox pilote utilisé dans les versions antérieures de Mozilla Firefox sera interrompu et seule l'implémentation de GeckoDriver sera utilisée. Les testeurs sont donc obligés d'utiliser GeckoDriver s'ils souhaitent exécuter des tests automatisés sur Mozilla. Firefox version 47.0+. Mais la grande question : quel est l’avantage ?
Le principal avantage de l'utilisation de GeckoDriver par rapport à la valeur par défaut Firefox le conducteur est Compatibilité. GeckoDriver utilise Protocole W3C WebDriver communiquer avec Selenium. Le W3C est une norme universellement définie pour Web Driver. Cela signifie Selenium Développeurs (personnes qui codent Selenium base) n'a pas besoin de créer une nouvelle version de Web Driver pour chaque version du navigateur. Le même pilote Web peut être utilisé pour plusieurs versions de navigateur. Par conséquent, GeckoDriver est préféré par rapport à la mise en œuvre antérieure de Firefox chauffeur.