ดาวน์โหลด Geckodriver สำหรับ Firefox & Selenium
⚡ สรุปอย่างชาญฉลาด
GeckoDriver สำหรับ Firefox และ Selenium ทำหน้าที่เป็นตัวกลางระหว่างไคลเอ็นต์ W3C WebDriver และ Mozilla Firefoxโดยการแปลงคำสั่งเป็น Mariคู่มือนี้อธิบายถึงโปรโตคอล onette วิธีการติดตั้ง การเริ่มต้นใช้งาน ตัวอย่างโค้ด ข้อผิดพลาดทั่วไป และข้อดีด้านความเข้ากันได้หลักๆ

GeckoDriver คืออะไร Selenium?
คำว่า Gecko หมายถึงเอ็นจิ้นเว็บเบราว์เซอร์ที่ติดตั้งอยู่ใน Mozilla Firefox เบราว์เซอร์ GeckoDriver ทำหน้าที่เป็นตัวกลางระหว่างไคลเอ็นต์ที่เปิดใช้งาน WebDriver (Eclipse, NetBeans, IntelliJ IDEAเป็นต้น) และ Mozilla Firefox กล่าวโดยสรุป GeckoDriver ทำหน้าที่เป็นตัวเชื่อมระหว่างเบราว์เซอร์ Selenium การทดสอบ WebDriver และ Mozilla Firefox.
ก่อน Selenium 3. Mozilla Firefox เบราว์เซอร์เป็นเบราว์เซอร์เริ่มต้นสำหรับ Selenium. หลังจากที่ Selenium 3. ผู้ทดสอบต้องเริ่มต้นสคริปต์ก่อนใช้งาน Firefox ผ่านทาง GeckoDriver โดยตรง Selenium ใช้โปรโตคอล W3C WebDriver ในการส่งคำขอไปยัง GeckoDriver ซึ่งจะแปลงคำขอเหล่านั้นเป็นโปรโตคอลชื่อ... Mariโอเน็ตต์ Firefox จากนั้นจึงเข้าใจคำสั่ง transmitเท็ดใน Mariรูปแบบโปรโตคอล onette และดำเนินการตามโปรโตคอลเหล่านั้น
ข้อดีของการใช้ GeckoDriver
Selenium WebDriver เวอร์ชัน 2.53 ไม่สามารถใช้งานร่วมกับ Mozilla ได้ Firefox เวอร์ชัน 47.0 ขึ้นไป รุ่นเก่า Firefox ไดรเวอร์ที่ใช้ใน Mozilla รุ่นก่อนหน้า Firefox การพัฒนาเวอร์ชันใหม่ได้ถูกยกเลิกไปแล้ว และปัจจุบันสามารถใช้งานได้เฉพาะการใช้งาน GeckoDriver เท่านั้น ดังนั้น ผู้ทดสอบจึงจำเป็นต้องใช้ GeckoDriver ในการรันการทดสอบอัตโนมัติบน Mozilla Firefox รุ่น 47.0 และสูงกว่า
ข้อได้เปรียบที่สำคัญของการใช้ GeckoDriver เหนือระบบเดิม Firefox ไดรเวอร์คือ ความเข้ากันได้GeckoDriver อาศัย... โปรโตคอล W3C WebDriver ที่จะสื่อสารกับ SeleniumW3C เป็นมาตรฐานที่กำหนดขึ้นอย่างเป็นสากลสำหรับ WebDriver ซึ่งหมายความว่า Selenium นักพัฒนาไม่จำเป็นต้องสร้างเวอร์ชันไดรเวอร์ใหม่สำหรับเบราว์เซอร์แต่ละรุ่น การใช้งาน WebDriver แบบเดียวกันสามารถใช้ได้กับเบราว์เซอร์หลายเวอร์ชัน ซึ่งเป็นเหตุผลว่าทำไม GeckoDriver จึงได้รับความนิยมมากกว่า WebDriver รุ่นเก่า Firefox คนขับรถ
วิธีดาวน์โหลดและติดตั้ง GeckoDriver ใน Selenium
GeckoDriver เป็นไฟล์ปฏิบัติการที่สามารถดาวน์โหลดลงในระบบของคุณได้โดยตรง โปรดทำตามขั้นตอนด้านล่างเพื่อดาวน์โหลดและติดตั้ง GeckoDriver Selenium ระบบอัตโนมัติ
ขั้นตอน 1) เลือกเวอร์ชันที่เหมาะสม
ในหน้าประกาศอย่างเป็นทางการ https://github.com/mozilla/geckodriver/releasesเลือกเวอร์ชัน GeckoDriver ที่เหมาะสมกับระบบปฏิบัติการและสถาปัตยกรรมของคุณ
ขั้นตอน 2) Extracในไฟล์ ZIP
เมื่อดาวน์โหลดไฟล์ ZIP เสร็จสมบูรณ์แล้ว ตัวอย่างเช่นtracบันทึกเนื้อหาลงในโฟลเดอร์บนเครื่องของคุณ
ขั้นตอน 3) โปรดสังเกตตำแหน่งของคนขับ
บันทึกเส้นทางโฟลเดอร์ที่คุณเรียกใช้tracted ไดรเวอร์ ตำแหน่งนี้จะถูกใช้ในภายหลังเพื่อสร้างอินสแตนซ์ของไดรเวอร์จากสคริปต์ทดสอบของคุณ
วิธีการเริ่มต้นใช้งาน GeckoDriver
มีสามวิธีที่แตกต่างกันในการเริ่มต้นใช้งาน GeckoDriver ในระบบของคุณ Selenium สคริปต์ทดสอบ เลือกสคริปต์ที่เหมาะสมกับเฟรมเวิร์กการทดสอบของคุณมากที่สุด และ Selenium รุ่น
1. การใช้ DesiredCapabilities
ขั้นแรก ให้ตั้งค่าคุณสมบัติของระบบสำหรับ GeckoDriver
ไวยากรณ์:
System.setProperty("webdriver.gecko.driver","Path to geckodriver.exe file");
ตัวอย่าง:
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
ถัดไป ให้ตั้งค่าความสามารถที่ต้องการ ความสามารถที่ต้องการจะช่วย Selenium ทำความเข้าใจชื่อเบราว์เซอร์ เวอร์ชัน และระบบปฏิบัติการที่จำเป็นในการเรียกใช้การทดสอบอัตโนมัติ ด้านล่างนี้คือโค้ดสำหรับกำหนดค่า GeckoDriver โดยใช้คลาส DesiredCapabilities
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
นี่คือรหัสที่สมบูรณ์:
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
2 ใช้ Mariทรัพย์สินของโอเน็ตต์
นอกจากนี้ ยังสามารถเริ่มต้นใช้งาน GeckoDriver โดยใช้คุณสมบัติ marionette ดังแสดงด้านล่าง
System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");
หาก GeckoDriver ถูกเริ่มต้นใช้งานโดยใช้วิธีการข้างต้น รหัส Desired Capabilities จะเป็นดังนี้ ไม่ จำเป็นต้องใช้
3 ใช้ Firefoxตัวเลือก
Mozilla Firefox เวอร์ชัน 47+ เปิดเผยข้อมูล Mariไดรเวอร์ onette เป็นระบบดั้งเดิม การใช้ประโยชน์จากสิ่งนี้ Mariสามารถเรียกใช้ไดรเวอร์ onette ได้ผ่านทาง Firefox ตัวเลือกต่างๆ แสดงดังด้านล่างนี้
FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);
Code สำหรับการเปิดตัว Firefox การใช้ GeckoDriver
ดังต่อไปนี้ JUnitตัวอย่างที่อิงตามนี้แสดงให้เห็นถึงโปรแกรมที่สมบูรณ์และสามารถใช้งานได้ Selenium การทดสอบที่เริ่มต้น Firefox ผ่าน GeckoDriver และนำทางไปยังหน้าสาธิต 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 คำอธิบาย
@ก่อนวิธี
ในขั้นต้น เราตั้งค่าคุณสมบัติของระบบสำหรับ GeckoDriver ให้เป็นตำแหน่งที่ดาวน์โหลดไฟล์ geckodriver.exe นอกจากนี้เรายังตั้งค่าคุณสมบัติ marionette เป็น true ด้วย Selenium ใช้ Mariโปรโตคอล onette เพื่อสื่อสารกับ GeckoDriver สุดท้าย เราเริ่มต้น Firefox อินสแตนซ์ของเบราว์เซอร์ที่ใช้ Object Desired Capabilities
คำสั่งต่อไปนี้จะทำให้ได้การตั้งค่าดังกล่าว
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver = new FirefoxDriver(capabilities);
@วิธีทดสอบ
เราจะนำทางไปยังตำแหน่งที่ผู้ใช้กำหนด URL ใช้ built-in get วิธีการที่จัดทำโดย Selenium WebDriver ดังแสดงในภาพด้านล่าง
driver.get("https://demo.guru99.com/selenium/guru99home/");
@วิธีหลัง
สุดท้าย เราปิดอินสแตนซ์ของเบราว์เซอร์โดยใช้ quit วิธี
driver.quit();
แก้ไขสคริปต์จากภาษาที่ไม่ใช่ Gecko ให้เป็นภาษา Gecko
สคริปต์ที่ไม่ใช่ GeckoDriver ที่ใช้ก่อนหน้านี้ Selenium ข้อ 3 ตรงไปตรงมา คุณเพียงแค่สร้างอินสแตนซ์ของ Firefox ไดรเวอร์และใช้ตัวแปรอินสแตนซ์
@Before
public void startBrowser() {
driver = new FirefoxDriver();
}
ในการแปลงสคริปต์สำหรับ GeckoDriver คุณเพียงแค่เพิ่มโค้ดบรรทัดเดียวที่ชี้ไปยังตำแหน่งของไฟล์ geckodriver.exe เท่านั้น
@Before
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
driver = new FirefoxDriver();
}
ข้อผิดพลาดทั่วไปที่เกิดขึ้นขณะใช้งาน GeckoDriver
ต่อไปนี้คือรายการข้อผิดพลาดทั่วไปที่เกิดขึ้นขณะใช้งาน GeckoDriver พร้อมทั้งวิธีแก้ไขปัญหา



