Geckodriver'ı indirin Firefox & Selenium

⚡ Akıllı Özet

GeckoDriver için Firefox hem de Selenium W3C WebDriver istemcileri ile Mozilla arasında bir aracı görevi görür. Firefoxkomutları çevirmek Marionette protokolü. Bu kılavuz, kurulum, başlatma teknikleri, örnek kod, yaygın istisnalar ve çekirdek uyumluluk avantajlarını açıklamaktadır.

  • 🦊 Köprü Rolü: GeckoDriver bağlantı kurar Selenium WebDriver istemcileriyle Firefox ile MariOnette protokolü.
  • ⬇️ Öncelikle şu adımları izleyin: İşletim sisteminize uygun GeckoDriver sürümünü resmi Mozilla deposundan indirin.
  • ⚙️ Üç Başlangıç ​​Yolu: Sürücüyü DesiredCapabilities, kukla sistemi özelliği veya aracılığıyla başlatın. FirefoxSeçenekler.
  • 🧪 Örnek İş Akışı: Kullanım JUnit @Before, @Test ve @After gibi ek açıklamalar, tarayıcı yaşam döngüsünü düzgün bir şekilde yönetmeyi sağlar.
  • ️ Sık Karşılaşılan Hataları Düzeltme: Oturum oluşturulamadı ve bağlantı reddedildi sorunlarını hizalayarak çözün. Firefox, Seleniumve sürücü sürümleri.
  • 🌐 W3C Avantajı: W3C WebDriver standardı, sürümler arası uyumluluk sağlayarak otomasyon paketlerinin bakım maliyetlerini azaltır.

Gecko Sürücüsü Selenium

GeckoDriver nedir? Selenium?

"Gecko" terimi, Mozilla'ya entegre edilmiş bir web tarayıcı motorunu ifade eder. Firefox Tarayıcı. GeckoDriver, WebDriver özellikli istemciler arasında bir proxy görevi görür (Eclipse, NetBeans, IntelliJ IDEA(vb.) ve Mozilla Firefox Kısaca, GeckoDriver tarayıcı ile tarayıcı arasında bir bağlantı görevi görür. Selenium WebDriver testleri ve Mozilla Firefox.

önce Selenium 3, Mozilla Firefox tarayıcı varsayılan tarayıcıydı Selenium. Sonra Selenium 3. Test uzmanlarının betiği kullanabilmek için başlatmaları gerekir. Firefox GeckoDriver aracılığıyla açıkça. Selenium GeckoDriver, istekleri W3C WebDriver protokolü üzerinden göndererek, bu istekleri bir protokole çevirir. MariOnette. Firefox daha sonra komutları anlar. transmitted'de Marionette protokol formatını kullanır ve bunları yürütür.

GeckoDriver Kullanmanın Avantajları

Selenium WebDriver 2.53 sürümü Mozilla ile uyumlu değil. Firefox Sürüm 47.0+. Eski sürüm. Firefox Önceki Mozilla sürümlerinde kullanılan sürücü Firefox Derleme işlemleri durduruldu ve bugün yalnızca GeckoDriver uygulaması kullanılabiliyor. Bu nedenle test uzmanlarının Mozilla üzerinde otomatik testler çalıştırmak için GeckoDriver'ı kullanmaları gerekiyor. Firefox sürüm 47.0 ve üstü.

GeckoDriver'ı eski sürüme göre kullanmanın en büyük avantajı Firefox sürücü uygunlukGeckoDriver şunlara dayanır: W3C Web Sürücüsü protokolü Ile iletişim kurmak SeleniumW3C, WebDriver için evrensel olarak tanımlanmış bir standarttır. Bu şu anlama gelir: Selenium Geliştiricilerin her tarayıcı sürümü için yeni bir sürücü sürümü oluşturmasına gerek yoktur. Aynı WebDriver uygulaması birden fazla tarayıcı sürümünde kullanılabilir; bu nedenle GeckoDriver, eski sürüme göre tercih edilmektedir. Firefox sürücüsü.

GeckoDriver Nasıl İndirilir ve Kurulur Selenium

GeckoDriver, doğrudan sisteminize indirilebilen bir yürütülebilir dosya olarak dağıtılır. GeckoDriver'ı indirmek ve kurmak için aşağıdaki adımları izleyin. Selenium otomasyon.

) 1 Adım Uygun sürümü seçin.
Resmi yayınlar sayfasında https://github.com/mozilla/geckodriver/releasesİşletim sisteminize ve mimarinize uygun GeckoDriver sürümünü seçin.

GeckoDriver'ı indirin ve yükleyin Selenium

) 2 Adım ExtracZIP dosyasına.
ZIP dosyasının indirilmesi tamamlandıktan sonra, örneğintracİçeriğini bilgisayarınızdaki bir klasöre kaydedin.

Extract GeckoDriver ZIP dosyası

) 3 Adım Sürücünün konumunu not edin.
Eski dosyalarınızı çıkardığınız klasörün yolunu kaydedin.tracSürücüyü yüklediniz. Bu konum daha sonra test betiğinizden sürücüyü başlatmak için kullanılacaktır.

GeckoDriver'ın konumunu not edin.

GeckoDriver'ı Başlatmanın Yolları

GeckoDriver'ı başlatmanın üç farklı yolu vardır. Selenium test senaryoları. Test çerçevesine en uygun olanı seçin ve Selenium sürümü.

1. İstenilen Yetenekleri Kullanmak

Öncelikle GeckoDriver için sistem özelliğini ayarlayın.

Sözdizimi:

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

Örnek:

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

Ardından, İstenen Yetenekleri ayarlayın. İstenen Yetenekler yardımcı olur. Selenium Otomatik testleri çalıştırmak için gereken tarayıcı adını, sürümünü ve işletim sistemini anlamanız gerekir. Aşağıda, DesiredCapabilities sınıfını kullanarak GeckoDriver'ı yapılandırmak için gereken kod bulunmaktadır.

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. kullanma MariOnette Mülkü

GeckoDriver, aşağıda gösterildiği gibi marionette özelliği kullanılarak da başlatılabilir.

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

GeckoDriver yukarıdaki yöntem kullanılarak başlatılırsa, İstenen Yetenekler kodu şöyledir: değil gereklidir.

3. kullanma FirefoxSeçenekler

mozilla Firefox 47+ sürümü şunları ortaya çıkarıyor: MariOnette sürücüsü eski bir sistem olarak kaldı. Bundan faydalanarak, Marionette sürücüsü şu yollarla çağrılabilir: Firefox Aşağıda gösterilen seçenekler.

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

Code Lansman için Firefox GeckoDriver'ı kullanma

Aşağıdaki JUnit-örnek, eksiksiz ve çalıştırılabilir bir yapıyı göstermektedir. Selenium başlatılan test Firefox GeckoDriver üzerinden bir demo sayfasına yönlendirilir. 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 açıklama

@Before yöntemi

İlk olarak, GeckoDriver için sistem özelliğini geckodriver.exe indirme konumuna ayarladık. Ayrıca marionette özelliğini de true olarak ayarladık, böylece Selenium kullanır MariGeckoDriver ile iletişim kurmak için onette protokolünü kullanıyoruz. Son olarak, başlıyoruz... Firefox İstenen Yetenekler nesnesini kullanan tarayıcı örneği.

Aşağıdaki ifadeler bu kurulumu sağlar.

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

@Test metodu

Kullanıcının belirttiği adrese gidiyoruz. URL yerleşik kullanarak get tarafından sağlanan yöntem Selenium Aşağıda gösterildiği gibi WebDriver.

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

@After yöntemi

Son olarak, tarayıcı örneğini şu şekilde kapatıyoruz: quit yöntemi.

driver.quit();

Gecko olmayan bir komut dosyasını Gecko'ya dönüştürün.

Daha önce kullanılan GeckoDriver dışı komut dosyaları Selenium 3 tanesi oldukça basitti. Sadece bir örneğini oluşturmanız yeterliydi. Firefox Sürücü ve örnek değişkeni kullanıldı.

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

GeckoDriver için betiği dönüştürmek için, geckodriver.exe dosyasının konumunu gösteren tek bir kod satırı eklemeniz yeterlidir.

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

GeckoDriver kullanılırken sık karşılaşılan hatalar

Aşağıda, GeckoDriver kullanılırken ortaya çıkan yaygın hataların ve çözümlerinin bir listesi bulunmaktadır.

Bu istisna, kullanıcı bir nesne oluşturmaya çalıştığında ortaya çıkar. Firefox GeckoDriver için sistem özelliğini ayarlamadan sürücü oluşturma. Bu durum genellikle şu durumlarda görülür: Selenium Yapılan değişikliklerden habersiz olan yeni başlayanlar Selenium Önceki sürümlere kıyasla 3.

Çözüm, GeckoDriver için sistem özelliğini, aşağıda gösterildiği gibi geckodriver.exe dosyasının konumuyla ayarlamaktır.

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

Lütfen Mozilla örneği oluşturmadan önce GeckoDriver özelliğini ayarlamanız gerektiğini 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. Çözüm, her ikisini de güncellemek. Selenium JAR dosyasını ve GeckoDriver'ı en son uyumlu sürümlere güncelleyin, ardından betiği tekrar çalıştırın.

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

Bu istisna, arasındaki uyumluluk sorunları nedeniyle oluşur. Selenium ve GeckoDriver. GeckoDriver şunlarla çalışır: Firefox Sürüm 47 veya üzeri. Sorun, sürümü yükselterek çözülebilir. Firefox Sürümü 47 veya daha yüksek bir sürüme yükseltin.

WebDriver Exception: Connection Refused

Bu hata, WebDriver'ın bağlantı kuramadığı durumlarda ortaya çıkar. FirefoxBu sorun aşağıdaki tekniklerden herhangi biri kullanılarak çözülebilir.

  • Kullan driver.quit() WebDriver'ın önceki örneklerini yok etme yöntemi.
  • Otomatik testlerinizi çalıştırmadan önce tarayıcı önbelleğini temizleyin.
  • Proje çalışma alanını temizleyin. Eclipse IDE.
  • Her zaman en son sürümünü kullanın. Selenium GeckoDriver, en son kararlı sürümüyle birlikte. Firefox bırakın.

SSS

Hayır. GeckoDriver, W3C WebDriver standardını uygulayan proxy yürütülebilir dosyasıdır. MariOnette, entegre edilmiş otomasyon protokolüdür. FirefoxGeckoDriver, WebDriver komutlarını çevirir. MariOnette mesajları Firefox yürütebilir.

En yeni GeckoDriver sürümleri resmi olarak şu hedefi hedefliyor: Firefox 91 ESR ve üzeri. Minimum ve maksimum değerleri doğrulamak için her zaman Mozilla'nın GitHub sayfasındaki GeckoDriver sürüm notlarını kontrol edin. Firefox İndirdiğiniz derlemenin desteklediği sürümler.

GeckoDriver'ı sistem PATH'ine eklemek isteğe bağlıdır ancak kullanışlıdır. Eğer PATH'te varsa, System.setProperty çağrısını atlayabilirsiniz. Aksi takdirde, sürücü yolunu açıkça belirtmeniz gerekir. Selenium deneme komut dosyası

Evet. Yapay zeka destekli test araçları üretebilir. Selenium WebDriver kodu, konum belirleyici önerileri ve kararsız çalışan komut dosyalarının otomatik olarak onarılması gibi özellikler rutin işleri hızlandırır, ancak güvenilir sonuçlar için sürücü sürümlerinin, bekleme sürelerinin ve doğrulama işlemlerinin insan tarafından incelenmesi hala gereklidir. Firefox otomasyon.

Hayır. Yapay zekâ ajanları şu anda WebDriver protokollerinin yerini almak yerine onların üzerinde çalışıyor. GeckoDriver, WebDriver'a giden köprü olmaya devam ediyor. FirefoxYapay zeka katmanları ise mevcut standardın üzerine daha akıllı konum belirleyiciler, kendi kendini onarma ve doğal dil tabanlı test yazımı özellikleri ekliyor.

Bu yazıyı şu şekilde özetleyin: