Tải Geckodriver cho Firefox & Selenium

⚡ Tóm tắt thông minh

GeckoDriver cho Firefox và Selenium Đóng vai trò như một máy chủ trung gian giữa các máy khách W3C WebDriver và Mozilla. Firefox, dịch các lệnh thành MariGiao thức Onette. Hướng dẫn này giải thích về cài đặt, kỹ thuật khởi tạo, mã ví dụ, các ngoại lệ thường gặp và lợi thế về khả năng tương thích cốt lõi.

  • 🦊 Vai trò cầu nối: GeckoDriver kết nối Selenium Các máy khách WebDriver với Firefox bằng cách sử dụng MariGiao thức onette.
  • ⬇️ Trước tiên hãy thiết lập: Tải xuống phiên bản GeckoDriver phù hợp từ kho lưu trữ chính thức của Mozilla dành cho hệ điều hành của bạn.
  • ⚙️ Ba đường dẫn khởi tạo: Khởi tạo trình điều khiển thông qua DesiredCapabilities, thuộc tính hệ thống marionette, hoặc FirefoxTùy chọn.
  • 🧪 Ví dụ về quy trình làm việc: Sử dụng JUnit Sử dụng các chú thích như @Before, @Test và @After để quản lý vòng đời trình duyệt một cách gọn gàng.
  • 🛠️ Khắc phục các lỗi thường gặp: Giải quyết các sự cố SessionNotCreated và connection-refused bằng cách điều chỉnh... Firefox, Seleniumvà các phiên bản trình điều khiển.
  • 🌐 Ưu điểm của W3C: Tiêu chuẩn W3C WebDriver cung cấp khả năng tương thích giữa các phiên bản, giảm thiểu chi phí bảo trì cho các bộ công cụ tự động hóa.

GeckoDriver trong Selenium

GeckoDriver trong gì Selenium?

Thuật ngữ Gecko dùng để chỉ một công cụ trình duyệt web được tích hợp sẵn trong Mozilla. Firefox trình duyệt. GeckoDriver hoạt động như một máy chủ trung gian giữa các máy khách hỗ trợ WebDriver (Eclipse, NetBeans, IntelliJ IDEA(v.v.) và Mozilla Firefox trình duyệt. Nói tóm lại, GeckoDriver đóng vai trò là cầu nối giữa... Selenium Kiểm thử WebDriver và Mozilla Firefox.

Trước Selenium 3, Mozilla Firefox trình duyệt là trình duyệt mặc định cho Selenium. Sau Selenium 3. Người kiểm thử phải khởi tạo tập lệnh để sử dụng. Firefox Thông qua GeckoDriver một cách rõ ràng. Selenium Sử dụng giao thức W3C WebDriver để gửi yêu cầu đến GeckoDriver, sau đó GeckoDriver sẽ dịch các yêu cầu đó thành một giao thức có tên là Marionette. Firefox sau đó hiểu các lệnh transmitted trong MariĐịnh dạng giao thức Onette và thực thi chúng.

Ưu điểm khi sử dụng GeckoDriver

Selenium Phiên bản WebDriver 2.53 không tương thích với Mozilla. Firefox phiên bản 47.0+. Phiên bản cũ Firefox Trình điều khiển được sử dụng trong Mozilla trước đây Firefox Việc biên dịch bằng trình biên dịch đã bị ngừng và hiện chỉ có thể sử dụng triển khai GeckoDriver. Do đó, người kiểm thử bắt buộc phải sử dụng GeckoDriver để chạy các bài kiểm thử tự động trên Mozilla. Firefox phiên bản 47.0 trở lên.

Ưu điểm chính của việc sử dụng GeckoDriver so với các hệ thống cũ là... Firefox tài xế là khả năng tương thíchGeckoDriver dựa vào... Giao thức W3C WebDriver giao tiếp với SeleniumW3C là một tiêu chuẩn được định nghĩa toàn cầu cho WebDriver. Điều này có nghĩa là Selenium Các nhà phát triển không cần phải tạo phiên bản trình điều khiển mới cho mỗi bản phát hành trình duyệt. Cùng một triển khai WebDriver có thể được sử dụng trên nhiều phiên bản trình duyệt khác nhau, đó là lý do tại sao GeckoDriver được ưa chuộng hơn so với phiên bản cũ hơn. Firefox người lái xe.

Cách tải xuống và cài đặt GeckoDriver trong Selenium

GeckoDriver được phân phối dưới dạng tệp thực thi có thể tải xuống trực tiếp vào hệ thống của bạn. Hãy làm theo các bước bên dưới để tải xuống và cài đặt GeckoDriver cho hệ thống của bạn. Selenium tự động hóa.

Bước 1) Chọn phiên bản phù hợp.
Trên trang phát hành chính thức https://github.com/mozilla/geckodriver/releasesHãy chọn phiên bản GeckoDriver phù hợp với hệ điều hành và kiến ​​trúc máy tính của bạn.

Tải xuống và cài đặt GeckoDriver trong Selenium

Bước 2) Extractrong tệp ZIP.
Sau khi quá trình tải xuống tệp ZIP hoàn tất, ví dụ:tracSao chép nội dung của nó vào một thư mục trên máy tính của bạn.

ExtracTệp ZIP GeckoDriver

Bước 3) Lưu ý vị trí của người lái xe.
Ghi lại đường dẫn thư mục nơi bạn lưu tệp.tracĐã chỉnh sửa trình điều khiển. Vị trí này sẽ được sử dụng sau này để khởi tạo trình điều khiển từ tập lệnh kiểm thử của bạn.

Lưu ý vị trí của GeckoDriver

Các cách khởi tạo GeckoDriver

Có ba cách khác nhau để khởi tạo GeckoDriver trong hệ thống của bạn. Selenium Các tập lệnh kiểm thử. Hãy chọn tập lệnh phù hợp nhất với khung kiểm thử của bạn. Selenium phiên bản.

1. Sử dụng khả năng mong muốn

Trước tiên, hãy thiết lập thuộc tính hệ thống cho GeckoDriver.

Cú pháp:

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

Ví dụ:

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

Tiếp theo, hãy thiết lập Khả năng mong muốn. Khả năng mong muốn giúp Selenium Hiểu rõ tên trình duyệt, phiên bản và hệ điều hành cần thiết để thực hiện các bài kiểm tra tự động. Dưới đây là mã để cấu hình GeckoDriver bằng cách sử dụng lớp DesiredCapabilities.

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

Đây là mã hoàn chỉnh:

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

2. Sử dụng MariBất động sản Onette

GeckoDriver cũng có thể được khởi tạo bằng thuộc tính marionette như hình bên dưới.

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

Nếu GeckoDriver được khởi tạo bằng phương pháp trên, mã Khả năng mong muốn sẽ là không yêu cầu.

3. Sử dụng FirefoxTùy chọn

Mozilla Firefox phiên bản 47+ hiển thị MariTrình điều khiển Onette là một hệ thống kế thừa. Tận dụng điều này, MariTrình điều khiển Onette có thể được kích hoạt thông qua Firefox Các tùy chọn như hiển thị bên dưới.

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

Code để ra mắt Firefox Sử dụng GeckoDriver

Sau đây JUnitVí dụ dựa trên mã nguồn này cho thấy một chương trình hoàn chỉnh, có thể chạy được. Selenium bài kiểm tra khởi chạy Firefox thông qua GeckoDriver và điều hướng đến bản 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 Giải thích

@Trước phương pháp

Ban đầu, chúng tôi thiết lập thuộc tính hệ thống cho GeckoDriver thành vị trí tải xuống geckodriver.exe. Chúng tôi cũng thiết lập thuộc tính marionette thành true. Selenium sử dụng MariGiao thức Onette được sử dụng để giao tiếp với GeckoDriver. Cuối cùng, chúng ta bắt đầu... Firefox Phiên bản trình duyệt sử dụng đối tượng Desired Capabilities.

Các câu lệnh sau đây thiết lập cấu hình này.

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

@Phương pháp kiểm tra

Chúng tôi điều hướng đến trang do người dùng chỉ định. URL sử dụng tích hợp sẵn get phương pháp được cung cấp bởi Selenium WebDriver, như hình bên dưới.

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

Phương thức @After

Cuối cùng, chúng ta đóng cửa sổ trình duyệt bằng cách sử dụng lệnh sau: quit phương pháp.

driver.quit();

Chỉnh sửa kịch bản từ Non-Gecko sang Gecko

Các tập lệnh không phải của GeckoDriver được sử dụng trước đây Selenium 3 bước khá đơn giản. Bạn chỉ cần tạo một thể hiện của... Firefox người lái xe và sử dụng biến thể hiện.

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

Để chuyển đổi tập lệnh cho GeckoDriver, bạn chỉ cần thêm một dòng mã trỏ đến vị trí của tệp geckodriver.exe.

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

Các lỗi thường gặp xảy ra khi sử dụng GeckoDriver

Dưới đây là danh sách các lỗi thường gặp khi sử dụng GeckoDriver, cùng với cách khắc phục chúng.

Lỗi này xảy ra khi người dùng cố gắng khởi tạo đối tượng. Firefox Trình điều khiển không thiết lập thuộc tính hệ thống cho GeckoDriver. Lỗi này thường gặp với... Selenium những người mới bắt đầu chưa biết về những thay đổi được đưa ra trong Selenium 3 so với các phiên bản trước đó.

Giải pháp là thiết lập thuộc tính hệ thống cho GeckoDriver với vị trí của tệp geckodriver.exe như hình bên dưới.

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

Vui lòng lưu ý rằng bạn phải thiết lập thuộc tính của GeckoDriver trước khi tạo một thể hiện của Mozilla. Firefox người lái xe.

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

Lỗi này thường xảy ra khi Firefox Phiên bản đã được nâng cấp lên phiên bản mới nhất. Giải pháp là cập nhật cả hai phiên bản. Selenium Cập nhật file JAR và GeckoDriver lên phiên bản tương thích mới nhất, sau đó chạy lại script.

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

Ngoại lệ này xảy ra do vấn đề tương thích giữa Selenium và GeckoDriver. GeckoDriver hoạt động với Firefox phiên bản 47 trở lên. Vấn đề có thể được giải quyết bằng cách nâng cấp. Firefox phiên bản lên 47 trở lên.

WebDriver Exception: Connection Refused

Lỗi này xuất hiện khi WebDriver không thể thiết lập kết nối với FirefoxVấn đề này có thể được giải quyết bằng bất kỳ kỹ thuật nào sau đây.

  • Sử dụng driver.quit() Phương pháp để hủy bỏ các phiên bản WebDriver trước đó.
  • Hãy xóa bộ nhớ cache của trình duyệt trước khi thực hiện các bài kiểm tra tự động.
  • Dọn dẹp không gian làm việc của dự án. Eclipse SDI.
  • Luôn sử dụng phiên bản mới nhất của Selenium GeckoDriver cùng với phiên bản ổn định mới nhất Firefox phát hành.

Câu Hỏi Thường Gặp

Không. GeckoDriver là tệp thực thi proxy triển khai tiêu chuẩn W3C WebDriver. MariOnette là giao thức tự động hóa được tích hợp sẵn trong FirefoxGeckoDriver dịch các lệnh của WebDriver thành... Maritin nhắn của Onette Firefox có thể thực thi.

Các bản dựng GeckoDriver mới nhất chính thức nhắm mục tiêu Firefox 91 ESR trở lên. Luôn kiểm tra ghi chú phát hành GeckoDriver trên trang GitHub của Mozilla để xác nhận mức tối thiểu và tối đa. Firefox các phiên bản được hỗ trợ bởi bản dựng bạn đã tải xuống.

Việc thêm GeckoDriver vào biến môi trường PATH của hệ thống là tùy chọn nhưng tiện lợi. Nếu nó đã có trong PATH, bạn có thể bỏ qua lệnh System.setProperty. Nếu không, bạn phải chỉ định đường dẫn trình điều khiển một cách rõ ràng bên trong tệp cấu hình của mình. Selenium kịch bản thử nghiệm.

Đúng vậy. Các công cụ kiểm thử hỗ trợ bởi AI có thể tạo ra kết quả như vậy. Selenium Mã WebDriver, bộ định vị gợi ý và tự động sửa lỗi các tập lệnh không ổn định. Chúng giúp tăng tốc các công việc thường ngày, nhưng việc xem xét thủ công các phiên bản trình điều khiển, thời gian chờ và các xác nhận vẫn cần thiết để đảm bảo độ tin cậy. Firefox tự động hóa.

Không. Các tác nhân AI hiện đang hoạt động trên nền tảng giao thức WebDriver chứ không phải thay thế chúng. GeckoDriver vẫn là cầu nối giữa các giao thức này. FirefoxTrong khi đó, các lớp AI bổ sung thêm khả năng định vị thông minh hơn, tự phục hồi và soạn thảo bài kiểm tra bằng ngôn ngữ tự nhiên vào tiêu chuẩn hiện có.

Tóm tắt bài viết này với: