Geckodriver'ı İndirin: Nasıl Kurulur Firefox sürücüsü Selenium

GeckoDriver nedir? Selenium?

Gecko terimi, Mozilla'da yerleşik bir Web Tarayıcı motoru anlamına gelir. Firefox tarayıcı. Gecko sürücüsü, Web Sürücüsü etkinleştirilmiş istemciler arasında bir proxy görevi görür.Eclipse, Netbeans, vb.) ve Mozilla Firefox tarayıcı. Kısaca, Gecko sürücüsü, tarayıcı ile Gecko arasında bir bağlantı görevi görür. Selenium Web Sürücüsü testleri ve Mozilla Firefox tarayıcı.

önce Selenium 3,Mozilla Firefox tarayıcı varsayılan tarayıcıydı Selenium. Sonra Selenium 3, test uzmanlarının kullanmak için betiği başlatması gerekiyor Firefox GeckoDriver'ı açıkça kullanmak. Selenium İstekleri GeckoDriver'a göndermek için W3C Webdriver protokolünü kullanır ve bu da onları adlı bir protokole çevirir. MariOnette. Firefox şeklinde iletilen komutları anlayacaklardır. Marionette protokolü ve bunları yürütür.

Gecko Sürücüsü Selenium

GeckoDriver Nasıl İndirilir ve Kurulur Selenium

Gecko Sürücüsü, sisteme indirilebilen bir yürütülebilir dosya olarak mevcuttur. Aşağıda gecko sürücüsünü indirmek için gereken adımların listesi bulunmaktadır.

Aşama 1 ) Uygun sürümü seçin.
Bu sayfada https://github.com/mozilla/geckodriver/releases ,İşletim sisteminize göre GeckoDriver indirmesi için uygun sürümü seçin

GeckoDriver'ı indirin ve yükleyin Selenium

) 2 Adım ZIP dosyasını çıkarın.
ZIP dosyasının indirilmesi tamamlandıktan sonra ZIP Dosyasının içeriğini bir dosya klasörüne çıkarın

GeckoDriver'ı indirin ve yükleyin Selenium

) 3 Adım Konumu not edin.
Sürücüyü çıkardığınız konumu not edin. Konum daha sonra sürücüyü örneklemek için kullanılacaktır.

GeckoDriver'ı indirin ve yükleyin Selenium

GeckoDriver'ı başlatmanın yolları

GeckoDriver'ı başlatmanın üç farklı yolu vardır.

1. İstenilen Yetenekleri Kullanmak

İlk olarak Gecko Driver için sistem özelliğini ayarlayın.

Sözdizimi:

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

Örnek:

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

Ardından İstenilen Yetenekleri ayarlayın.

İstenilen Yetenekler yardımı Selenium Otomatik testleri yürütmek için tarayıcı adını, sürümünü ve işletim sistemini anlamak. Aşağıda DesiredCapaability sınıfını kullanarak geko sürücüsünü ayarlama kodu verilmiştir.

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

İşte kodun tamamı

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

2. Kukla özelliğini kullanma

Gecko sürücüsü aşağıdaki gibi kukla özelliği kullanılarak da başlatılabilir.

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

Geko sürücüsü yukarıdaki yöntem kullanılarak başlatılırsa istenen yeteneklere ilişkin kod değil gereklidir.

3. kullanma FirefoxOpsiyonlar

mozilla Firefox sürüm 47+, eski bir sistem olarak kukla sürücüsüne sahiptir. Bundan yararlanarak kukla sürücüsü kullanılarak çağrılabilir. Firefox Aşağıdaki gibi seçenekler

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

Gecko sürücüsünü kullanarak Firefox'u başlatmak için kod

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("http://demo.guru99.com/selenium/guru99home/");
    }

    @After
    public void endTest() {
        driver.quit();
    }

}

Kod Açıklama

@Before yöntemi

Başlangıçta, geko sürücüsünün sistem özelliğini geckdriver.exe dosya indirme konumuna ayarlamamız gerekiyor. Bunun için marionette özelliğini true olarak ayarlamamız gerekiyor. Selenium kullanmak MariGecko Driver ile iletişim kurmak için onette protokolü. Son olarak, başlamamız gerekiyor Firefox İstenen Yetenekler için nesneyi kullanan tarayıcı örneği.

Aşağıdaki ifadeler yukarıdaki görevi gerçekleştirmeye yardımcı olur.

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

@Test metodu

Tarafından sağlanan dahili "get" yöntemini kullanarak kullanıcı tarafından belirlenen URL'ye gidiyoruz. Selenium ağ sürücüsü. Aşağıdaki ifade aynı sonuca ulaşmaya yardımcı olur.

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

@After yöntemi

Son olarak Quit metodunu kullanarak tarayıcı örneğini kapatıyoruz.

driver.quit();

Gecko olmayanlar için bir komut dosyasını Gecko olarak değiştirin

Daha önce kullanılan geko olmayan sürücü komut dosyası Selenium 3 basitti. Bir örneğini oluşturmamız gerekiyor Firefox sürücüyü seçin ve örnek değişkenini kullanın.

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

}

Geko'ya dönüştürmek için bir satır kod eklemeniz yeterlidir

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

    }

Gecko Sürücüsünü kullanırken yaygın istisnalar oluştu

Aşağıda Gecko Sürücüsü kullanılırken ortaya çıkabilecek yaygın istisnaların bir listesi ve çözümleri yer almaktadır.

Bu istisna, kullanıcı örneği oluşturmaya çalıştığında ortaya çıkar Firefox geko sürücüsü için sistem özelliğini ayarlamadan sürücü. Bu genellikle yeni başlayanlar tarafından yapılır. Selenium yapılan değişikliklerden haberi olmayanlar Selenium Için 3 Selenium önceki sürümler.

Yukarıdaki istisnanın çözümü, geko sürücüsünün sistem özelliğini, gekodriver.exe dosyasının konumuyla aşağıdaki gibi ayarlamaktır.

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

Mozilla örneğini oluşturmadan önce geko sürücüsünün özelliğini ayarlamanız gerektiğini lütfen unutmayın. Firefox sürücüsü.

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

Bu istisna genellikle şu durumlarda ortaya çıkar: Firefox sürümü en son sürüme yükseltildi. Bu istisnanın çözümü Selenium jar dosyasını ve geko sürücüsünü en son sürüme güncellemek ve aynısını kullanmaktır.

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

Bu istisna, arasındaki uyumluluk sorunları nedeniyle oluşur. Selenium ve Gecko sürücüsü. Gecko sürücüsü ile çalışır Firefox sürüm 47 veya üzeri. Güncelleyerek çözülebilir Firefox Sürüm 47 veya üzeri.

WebDriver Exception: Connection Refused

Bu istisna, web sürücüsü ile bağlantı kuramadığında oluşturulan mesajdır. FirefoxAşağıdaki tekniklerden herhangi biri kullanılarak çözülebilir.

  • kullanım driver.quit() web sürücüsünün önceki örneklerini yok etme yöntemi
  • Otomatik testlerinizi yürütmeden önce tarayıcı önbelleğini temizleyin
  • Proje çalışma alanını temizleyin Eclipse IDE
  • Her zaman Selenium Geko sürücüsünün en son sürümünü ve en son sürümünü kullanın. Firefox tarayıcı

Gecko Sürücüsünü kullanmanın avantajı

Selenium Web sürücüsü 2.53 sürümü Mozilla ile uyumlu değil Firefox sürüm 47.0+. Firefox Mozilla'nın önceki sürümlerinde kullanılan sürücü Firefox durdurulacak ve yalnızca GeckoDriver uygulaması kullanılacaktır. Bu nedenle test uzmanları Mozilla'da otomatik testler yapmak isterlerse GeckoDriver'ı kullanmak zorunda kalıyorlar Firefox sürüm 47.0+. Ama asıl soru şu; avantajı nedir?

Varsayılanın aksine GeckoDriver kullanmanın en büyük avantajı Firefox sürücü uygunluk. GeckoDriver'ın kullanım alanları W3C Web Sürücüsü protokolü Ile iletişim kurmak Selenium. W3C, Web Sürücüsü için evrensel olarak tanımlanmış bir standarttır. Bu şu anlama gelir Selenium Geliştiriciler (Kod yazan kişiler Selenium Base) her tarayıcı sürümü için Web Sürücüsünün yeni bir sürümünü oluşturmanıza gerek yoktur. Aynı Web Sürücüsü birden fazla tarayıcı sürümü için kullanılabilir. Bu nedenle GeckoDriver, önceki uygulamaya kıyasla tercih edilir. Firefox sürücüsü.