น่าเสียดายที่ Selenium WebDriver 2.53.0 เข้ากันไม่ได้กับ Firefox 47.0 ส่วนประกอบ WebDriver ซึ่งจัดการกับเบราว์เซอร์ Firefox ( FirefoxDriver
) จะถูกยกเลิก สำหรับเวอร์ชัน 3.0 Selenium WebDriver จะต้องใช้geckodriver
ไบนารีเพื่อจัดการเบราว์เซอร์ Firefox ข้อมูลเพิ่มเติมที่นี่และที่นี่
ดังนั้นในการใช้ Firefox 47.0 เป็นเบราว์เซอร์ที่มี Selenium WebDriver 2.53.0 คุณต้องดาวน์โหลดไดรเวอร์ Firefox (ซึ่งเป็นไฟล์ไบนารีที่เรียกว่าgeckodriver
รุ่น 0.8.0 และก่อนหน้านี้wires
) และส่งออกพา ธ สัมบูรณ์ไปยังตัวแปรwebdriver.gecko.driver
เป็น คุณสมบัติระบบในโค้ด Java ของคุณ:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
โชคดีที่ไลบรารีWebDriverManagerสามารถทำงานนี้ให้คุณได้เช่นดาวน์โหลด Marionette binary ที่เหมาะสมสำหรับเครื่องของคุณ (Linux, Mac หรือ Windows) และส่งออกค่าคุณสมบัติของระบบที่เหมาะสม ในการใช้ไลบรารีนี้คุณต้องรวมการอ้างอิงนี้ไว้ในโปรเจ็กต์ของคุณ:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.2.0</version>
</dependency>
... แล้วรันบรรทัดนี้ในโปรแกรมของคุณก่อนใช้ WebDriver:
WebDriverManager.firefoxdriver().setup();
ตัวอย่างการรันที่สมบูรณ์ของกรณีทดสอบ JUnit 4 โดยใช้ WebDriver อาจเป็นดังนี้:
public class FirefoxTest {
protected WebDriver driver;
@BeforeClass
public static void setupClass() {
WebDriverManager.firefoxdriver().setup();
}
@Before
public void setupTest() {
driver = new FirefoxDriver();
}
@After
public void teardown() {
if (driver != null) {
driver.quit();
}
}
@Test
public void test() {
// Your test code here
}
}
โปรดทราบว่า Marionette จะเป็นตัวเลือกเดียวสำหรับอนาคต (สำหรับ WebDriver 3+ และ Firefox 48+) แต่ปัจจุบัน (เวอร์ชัน 0.9.0 ในขณะเขียน) ยังไม่เสถียรมากนัก ดูแผนงานของ Marionetteเพื่อดูรายละเอียดเพิ่มเติม
อัปเดต
Selenium WebDriver 2.53.1ได้รับการเผยแพร่เมื่อวันที่ 30 มิถุนายน 2559 FirefoxDriver
กำลังทำงานอีกครั้งกับ Firefox 47.0.1เป็นเบราว์เซอร์