Rất tiếc, Selenium WebDriver 2.53.0 không tương thích với Firefox 47.0. Thành phần WebDriver xử lý trình duyệt Firefox ( FirefoxDriver
) sẽ bị ngừng hoạt động. Kể từ phiên bản 3.0, Selenium WebDriver sẽ cần geckodriver
tệp nhị phân để quản lý trình duyệt Firefox. Thêm thông tin ở đây và ở đây .
Do đó, để sử dụng Firefox 47.0 làm trình duyệt với Selenium WebDriver 2.53.0, bạn cần tải xuống trình điều khiển Firefox (là tệp nhị phân được gọi geckodriver
là phiên bản 0.8.0 và trước đây wires
) và xuất đường dẫn tuyệt đối của nó sang biến webdriver.gecko.driver
như thuộc tính hệ thống trong mã Java của bạn:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
May mắn thay, thư viện WebDriverManager có thể thực hiện công việc này cho bạn, tức là tải xuống tệp nhị phân Marionette thích hợp cho máy của bạn (Linux, Mac hoặc Windows) và xuất giá trị của thuộc tính hệ thống thích hợp. Để sử dụng thư viện này, bạn cần đưa phần phụ thuộc này vào dự án của mình:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.1.0</version>
</dependency>
... và sau đó thực thi dòng này trong chương trình của bạn trước khi sử dụng WebDriver:
WebDriverManager.firefoxdriver().setup();
Một ví dụ chạy hoàn chỉnh của trường hợp thử nghiệm JUnit 4 sử dụng WebDriver có thể như sau:
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
}
}
Lưu ý rằng Marionette sẽ là lựa chọn duy nhất cho tương lai (cho WebDriver 3+ và Firefox 48+), nhưng hiện tại (phiên bản 0.9.0 tại thời điểm viết bài) không ổn định lắm. Hãy xem lộ trình Marionette để biết thêm chi tiết.
CẬP NHẬT
Selenium WebDriver 2.53.1 đã được phát hành vào ngày 30 tháng 6 năm 2016. Hiện FirefoxDriver
đang hoạt động trở lại với Firefox 47.0.1 dưới dạng trình duyệt.