Unduh Geckodriver untuk Firefox & Selenium

โšก Ringkasan Cerdas

GeckoDriver untuk Firefox ke Selenium bertindak sebagai perantara antara klien W3C WebDriver dan Mozilla. Firefox, menerjemahkan perintah ke dalam MariProtokol Onette. Panduan ini menjelaskan instalasi, teknik inisialisasi, contoh kode, pengecualian umum, dan keunggulan kompatibilitas inti.

  • ๐ŸฆŠ Peran Jembatan: GeckoDriver menghubungkan Selenium Klien WebDriver dengan Firefox menggunakan Mariprotokol onette.
  • (I.e. Persiapan Pertama: Unduh versi GeckoDriver yang tepat dari repositori resmi Mozilla untuk sistem operasi Anda.
  • โš™๏ธ Tiga Jalur Inisialisasi: Inisialisasi driver melalui DesiredCapabilities, properti sistem marionette, atau FirefoxPilihan.
  • ๐Ÿงช Contoh Alur Kerja: penggunaan JUnit Anotasi seperti @Before, @Test, dan @After digunakan untuk mengelola siklus hidup browser dengan rapi.
  • ๏ธ Perbaiki Kesalahan Umum: Atasi masalah SessionNotCreated dan connection-refused dengan menyelaraskan Firefox, Selenium, dan versi driver.
  • ๐ŸŒ Keunggulan W3C: Standar W3C WebDriver menghadirkan kompatibilitas lintas versi, mengurangi pemeliharaan untuk rangkaian otomatisasi.

GeckoDriver masuk Selenium

Apa itu GeckoDriver? Selenium?

Istilah Gecko merujuk pada mesin peramban web yang terintegrasi ke dalam Mozilla. Firefox browser. GeckoDriver bertindak sebagai proxy antara klien yang mendukung WebDriver (Eclipse, NetBeans, IntelliJ IDEA, dll.) dan Mozilla Firefox Singkatnya, GeckoDriver berfungsi sebagai penghubung antara browser. Selenium Pengujian WebDriver dan Mozilla Firefox.

Sebelum Selenium 3, Mozilla Firefox browser adalah browser default untuk Selenium. Setelah Selenium 3. Penguji harus menginisialisasi skrip untuk digunakan. Firefox melalui GeckoDriver secara eksplisit. Selenium menggunakan protokol W3C WebDriver untuk mengirim permintaan ke GeckoDriver, yang menerjemahkannya ke dalam protokol bernama Marionette. Firefox lalu memahami perintah-perintah tersebut transmitted di dalam Mariformat protokol onette dan mengeksekusinya.

Keunggulan Menggunakan GeckoDriver

Selenium WebDriver versi 2.53 tidak kompatibel dengan Mozilla. Firefox versi 47.0+. Warisan Firefox driver yang digunakan di Mozilla versi sebelumnya Firefox Pengembangan builds telah dihentikan, dan hanya implementasi GeckoDriver yang dapat digunakan saat ini. Oleh karena itu, penguji diharuskan menggunakan GeckoDriver untuk menjalankan pengujian otomatis di Mozilla. Firefox versi 47.0 ke atas.

Keunggulan utama menggunakan GeckoDriver dibandingkan sistem lama Firefox pengemudi adalah kesesuaianGeckoDriver bergantung pada Protokol WebDriver W3C untuk berkomunikasi dengan SeleniumW3C adalah standar yang didefinisikan secara universal untuk WebDriver. Ini berarti Selenium Pengembang tidak perlu membuat versi driver baru untuk setiap rilis browser. Implementasi WebDriver yang sama dapat digunakan di berbagai versi browser, itulah sebabnya GeckoDriver lebih disukai daripada versi yang lebih lama. Firefox sopir.

Cara Download dan Install GeckoDriver di Selenium

GeckoDriver didistribusikan sebagai file yang dapat dieksekusi dan dapat diunduh langsung ke sistem Anda. Ikuti langkah-langkah di bawah ini untuk mengunduh dan menginstal GeckoDriver untuk Selenium otomatisasi.

Langkah 1) Pilih versi yang sesuai.
Di halaman rilis resmi https://github.com/mozilla/geckodriver/releasesPilih versi GeckoDriver yang sesuai dengan sistem operasi dan arsitektur Anda.

Unduh dan Instal GeckoDriver di Selenium

Langkah 2) Extracfile ZIP tersebut.
Setelah pengunduhan file ZIP selesai, misalnyatracSalin isinya ke dalam sebuah folder di komputer Anda.

ExtracFile ZIP GeckoDriver

Langkah 3) Catat lokasi pengemudi.
Catat jalur folder tempat Anda keluartracted the driver. Lokasi ini akan digunakan nanti untuk membuat instance driver dari skrip pengujian Anda.

Catatan lokasi GeckoDriver

Cara Menginisialisasi GeckoDriver

Ada tiga cara berbeda untuk menginisialisasi GeckoDriver di sistem Anda. Selenium Skrip pengujian. Pilih salah satu yang paling sesuai dengan kerangka kerja pengujian Anda dan Selenium versi.

1. Menggunakan Kemampuan yang Diinginkan

Pertama, atur properti sistem untuk GeckoDriver.

sintaks:

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

Contoh:

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

Selanjutnya, tetapkan Kemampuan yang Diinginkan. Kemampuan yang Diinginkan membantu Selenium Pahami nama browser, versi, dan sistem operasi yang diperlukan untuk menjalankan pengujian otomatis. Berikut adalah kode untuk mengkonfigurasi GeckoDriver menggunakan kelas DesiredCapabilities.

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

Berikut kode lengkapnya:

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

2. Menggunakan MariProperti onette

GeckoDriver juga dapat diinisialisasi menggunakan properti marionette seperti yang ditunjukkan di bawah ini.

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

Jika GeckoDriver diinisialisasi menggunakan metode di atas, kode Desired Capabilities adalah tidak diperlukan.

3. Menggunakan FirefoxOpsi

Mozilla Firefox versi 47+ mengungkap MariPengemudi Onette sebagai sistem lama. Dengan memanfaatkan hal ini, MariPengemudi onette dapat dipanggil melalui Firefox Opsi seperti yang ditunjukkan di bawah ini.

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

Code untuk Peluncuran Firefox Menggunakan GeckoDriver

Berikut ini JUnitContoh berbasis ini menunjukkan program yang lengkap dan dapat dijalankan. Selenium tes yang diluncurkan Firefox melalui GeckoDriver dan menavigasi ke demo. 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 Penjelasan

@Sebelum metode

Awalnya, kami mengatur properti sistem untuk GeckoDriver ke lokasi unduhan geckodriver.exe. Kami juga mengatur properti marionette menjadi true sehingga Selenium menggunakan Mariprotokol onette untuk berkomunikasi dengan GeckoDriver. Akhirnya, kita mulai Firefox instance browser menggunakan objek Desired Capabilities.

Pernyataan-pernyataan berikut ini mewujudkan pengaturan tersebut.

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

@Metode pengujian

Kita menuju ke lokasi yang ditentukan pengguna. URL menggunakan built-in get metode yang disediakan oleh Selenium WebDriver, seperti yang ditunjukkan di bawah ini.

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

@Setelah metode

Terakhir, kita menutup instance browser menggunakan quit Metode.

driver.quit();

Memodifikasi Skrip untuk Hewan Non-Gecko menjadi Hewan Gecko

Skrip non-GeckoDriver yang digunakan sebelumnya Selenium 3 di antaranya mudah. โ€‹โ€‹Anda hanya perlu membuat sebuah instance dari Firefox pengemudi dan menggunakan variabel instans.

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

Untuk mengkonversi skrip untuk GeckoDriver, Anda hanya perlu menambahkan satu baris kode yang mengarah ke lokasi geckodriver.exe.

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

Pengecualian Umum yang Terjadi Saat Menggunakan GeckoDriver

Berikut ini adalah daftar pengecualian umum yang terjadi saat menggunakan GeckoDriver, beserta solusinya.

Pengecualian ini terjadi ketika pengguna mencoba untuk membuat instance dari Firefox driver tanpa mengatur properti sistem untuk GeckoDriver. Hal ini umum terjadi pada Selenium pemula yang tidak menyadari perubahan yang diperkenalkan pada Selenium 3 dibandingkan dengan versi sebelumnya.

Solusinya adalah mengatur properti sistem untuk GeckoDriver dengan lokasi file geckodriver.exe seperti yang ditunjukkan di bawah ini.

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

Harap dicatat bahwa Anda harus mengatur properti GeckoDriver sebelum membuat instance Mozilla. Firefox sopir.

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

Pengecualian ini biasanya terjadi ketika Firefox Versi telah ditingkatkan ke rilis terbaru. Solusinya adalah memperbarui keduanya. Selenium Perbarui file JAR dan GeckoDriver ke versi terbaru yang kompatibel, lalu jalankan skrip lagi.

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

Pengecualian ini terjadi karena masalah kompatibilitas antar Selenium dan GeckoDriver. GeckoDriver bekerja dengan Firefox versi 47 atau lebih tinggi. Masalah ini dapat diatasi dengan melakukan peningkatan versi. Firefox versi 47 atau lebih tinggi.

WebDriver Exception: Connection Refused

Pengecualian ini muncul ketika WebDriver tidak dapat membuat koneksi dengan FirefoxHal ini dapat diatasi dengan menggunakan salah satu teknik berikut.

  • Gunakan driver.quit() Metode untuk menghancurkan instance WebDriver sebelumnya.
  • Bersihkan cache browser sebelum menjalankan pengujian otomatis Anda.
  • Bersihkan ruang kerja proyek di dalam Eclipse ide.
  • Selalu gunakan versi terbaru dari Selenium GeckoDriver beserta versi stabil terbaru. Firefox lepaskan.

Pertanyaan Umum Demo Slot

Tidak. GeckoDriver adalah program eksekusi proksi yang mengimplementasikan standar W3C WebDriver. Marionette adalah protokol otomatisasi yang terintegrasi ke dalam FirefoxGeckoDriver menerjemahkan perintah WebDriver ke dalam Maripesan onette yang Firefox dapat mengeksekusi.

Versi GeckoDriver terbaru secara resmi menargetkan Firefox 91 ESR dan yang lebih baru. Selalu periksa catatan rilis GeckoDriver di halaman GitHub Mozilla untuk memastikan versi minimum dan maksimum. Firefox versi yang didukung oleh build yang Anda unduh.

Menambahkan GeckoDriver ke PATH sistem bersifat opsional tetapi memudahkan. Jika sudah ada di PATH, Anda dapat melewati panggilan System.setProperty. Jika tidak, Anda harus menentukan jalur driver secara eksplisit di dalam file konfigurasi Anda. Selenium skrip pengujian.

Ya. Alat pengujian berbantuan AI dapat menghasilkan Selenium Kode WebDriver, saran locator, dan perbaikan otomatis skrip yang bermasalah mempercepat pekerjaan rutin, tetapi peninjauan manusia terhadap versi driver, waktu tunggu, dan pernyataan masih diperlukan untuk keandalan. Firefox otomatisasi.

Tidak. Agen AI saat ini berada di atas protokol WebDriver, bukan menggantikannya. GeckoDriver tetap menjadi jembatan penghubungnya. FirefoxSementara itu, lapisan AI menambahkan pencari lokasi yang lebih cerdas, kemampuan memperbaiki diri sendiri, dan pembuatan tes berbahasa alami di atas standar yang sudah ada.

Ringkaslah postingan ini dengan: