Töltse le a Geckodriver programot Firefox & Selenium

Miben van a GeckoDriver? Selenium?

A Gecko kifejezés a Mozillába beépített webböngésző motort jelent Firefox böngésző. A Gecko illesztőprogram proxyként működik a Web Driver-kompatibilis kliensek között (Eclipse, Netbeans stb.) és a Mozilla Firefox böngésző. Röviden, a Gecko illesztőprogram összekötőként működik Selenium Web Driver tesztek és Mozilla Firefox böngészőt.

Előtt Selenium 3, Mozilla Firefox böngésző volt az alapértelmezett böngésző Selenium. Után Selenium 3, tesztelők kell inicializálni a szkriptet használni Firefox kifejezetten a GeckoDriver használatával. Selenium a W3C Webdriver protokollt használja a kérések elküldésére a GeckoDrivernek, amely lefordítja azokat egy nevű protokollra Marionette. Firefox formájában továbbított parancsokat fogja érteni Marionette protokollt, és végrehajtja azokat.

GeckoDriver be Selenium

A GeckoDriver letöltése és telepítése Selenium

A Gecko Driver végrehajtható fájlként érhető el, amely letölthető a rendszerre. Az alábbiakban felsoroljuk a gecko illesztőprogram letöltésének lépéseit.

1. lépés) Válassza ki a megfelelő verziót.
Ezen az oldalon https://github.com/mozilla/geckodriver/releases ,Válassza ki a megfelelő verziót a GeckoDriver letöltéséhez az operációs rendszere alapján

Töltse le és telepítse a GeckoDriver programot Selenium

Step 2) Bontsa ki a ZIP fájlt.
Miután a ZIP fájl letöltése befejeződött, csomagolja ki a ZIP fájl tartalmát egy fájlmappába

Töltse le és telepítse a GeckoDriver programot Selenium

Step 3) Jegyezze fel a helyet.
Jegyezze fel azt a helyet, ahol kicsomagolta az illesztőprogramot. A helyadatokat később az illesztőprogram példányosításához használjuk fel.

Töltse le és telepítse a GeckoDriver programot Selenium

A GeckoDriver inicializálásának módjai

A GeckoDriver inicializálásának három különböző módja van.

1. A DesiredCapabilities használata

Először állítsa be a Gecko Driver rendszertulajdonságát.

Syntax:

System.setProperty("webdriver.gecko.driver","Path to geckdriver.exe file");

Példa:

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

Ezután állítsa be a kívánt képességeket.

A kívánt képességek segítenek Selenium a böngésző nevének, verziójának és operációs rendszerének megértése az automatizált tesztek végrehajtásához. Az alábbiakban található a gecko illesztőprogram DesiredCapabilities osztály használatával történő beállításához szükséges kód.

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);

Itt a teljes kód

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver= new FirefoxDriver(capabilities);

2. Marionett tulajdonság használata

A Gecko illesztőprogramja a marionette tulajdonság használatával is inicializálható az alábbiak szerint

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

Ha a gecko illesztőprogramot a fenti módszerrel inicializálják, akkor a kívánt képességek kódja az nem szükséges.

3. használata FirefoxOpciók

Mozilla Firefox A 47-es verzióban a marionette illesztőprogram örökölt rendszere. Ezt kihasználva a marionette driver segítségével hívható Firefox Lehetőségek az alábbiak szerint

FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);

Kód a firefox indításához a Gecko illesztőprogram segítségével

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();
    }

}

Kód Magyarázat

@Before módszer

Kezdetben a gecko driver rendszertulajdonságát a geckdriver.exe fájl letöltési helyére kell beállítanunk. A marionette tulajdonságot true értékre kell állítanunk Selenium használata Marionette protokoll a Gecko Driverrel való kommunikációhoz. Végül el kell kezdenünk a Firefox böngészőpéldány a kívánt képességek objektum használatával.

Az alábbi állítások segítenek a fenti feladat megvalósításában.

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver= new FirefoxDriver(capabilities);

@Teszt módszer

A felhasználó által megadott URL-re navigálunk a beépített „get” metódus használatával Selenium web-illesztőprogram. Az alábbi állítás segít ennek elérésében.

driver.get("https://demo.guru99.com/selenium/guru99home/");

@After metódus

Végül bezárjuk a böngészőpéldányt a quit metódussal.

driver.quit();

Módosítson egy szkriptet nem Gecko-hoz Gecko-ra

Korábban használt nem-gecko illesztőprogram-szkript Selenium 3 egyértelmű volt. Létre kell hoznunk egy példányt Firefox illesztőprogramot, és használja a példányváltozót.

@Before
public void startBrowser() {
    driver = new FirefoxDriver();

}

A gekkóvá alakításhoz egyszerűen hozzá kell adnia egy kódsort

    @Before
    public void startBrowser() {
        System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
        driver = new FirefoxDriver();

    }

Gyakori kivételek fordultak elő a Gecko Driver használata során

Az alábbiakban felsoroljuk azokat a gyakori kivételeket, amelyek a Gecko Driver használata és a felbontás használata során fordulnak elő.

Ez a kivétel akkor fordul elő, amikor a felhasználó megpróbálja példányosítani Firefox illesztőprogramot a gecko driver rendszertulajdonságának beállítása nélkül. Ezt általában kezdők csinálják Selenium akik nincsenek tisztában a változásokkal Selenium 3 a Selenium előző verziók.

A fenti kivétel megoldása a gecko illesztőprogram rendszertulajdonságának beállítása a geckodriver.exe fájl helyével az alábbiak szerint

System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\geckodriver.exe");

Kérjük, vegye figyelembe, hogy a Mozilla példányának létrehozása előtt be kell állítania a gecko driver tulajdonságát Firefox sofőr.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

Ez a kivétel általában akkor fordul elő, ha Firefox verzió frissítve a legújabb verzióra. Ennek a kivételnek az a megoldása, hogy frissítse a szelénjar fájlt és a gecko illesztőprogramot a legújabb verzióra, és ugyanazt használja.

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session.

Ez a kivétel kompatibilitási problémák miatt következik be Selenium és Gecko sofőr. Gecko driver működik Firefox 47-es vagy újabb verzió. Frissítéssel megoldható Firefox verzió 47 vagy újabb.

WebDriver Exception: Connection Refused

Ez a kivétel az az üzenet, amely akkor jön létre, ha a web-illesztőprogram nem tud kapcsolatot létesíteni a következővel Firefox. Az alábbi technikák bármelyikével megoldható.

  • Felhasználás driver.quit() módszer a web-illesztőprogram korábbi példányainak megsemmisítésére
  • Az automatikus tesztek végrehajtása előtt tisztítsa meg a böngésző gyorsítótárát
  • Tisztítsa meg a projekt munkaterületét Eclipse IDE
  • Mindig a selenium gecko illesztőprogram legfrissebb verzióját és a legújabb verzióját használja Firefox böngésző

A Gecko Driver használatának előnye

Selenium A Webdriver 2.53-as verziója nem kompatibilis a Mozillával Firefox 47.0+ verzió. A Firefox a Mozilla korábbi verzióiban használt illesztőprogram Firefox megszűnik, és csak a GeckoDriver implementációt használnák. Ezért a tesztelők kénytelenek GeckoDriver-t használni, ha automatizált teszteket akarnak futtatni a Mozillán Firefox 47.0+ verzió. De a nagy kérdés: mi az előnye?

A GeckoDriver használatának fő előnye az alapértelmezetthez képest Firefox sofőr az Kompatibilitás. GeckoDriver használja W3C WebDriver protokoll kommunikálni Selenium. A W3C a Web Driver univerzálisan meghatározott szabványa. Ez azt jelenti, hogy Selenium Fejlesztők (azok, akik kódolnak Selenium alap) nem kell új Web Driver verziót létrehozni minden böngészőverzióhoz. Ugyanaz a web-illesztőprogram több böngészőverzióhoz is használható. Ezért a GeckoDriver előnyben részesített a korábbi megvalósításhoz képest Firefox sofőr.

Foglald össze ezt a bejegyzést a következőképpen: