На жаль, 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 для своєї машини (Linux, Mac або Windows) та експортувати значення належної властивості системи. Щоб використовувати цю бібліотеку, вам потрібно включити цю залежність у свій проект:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.1.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 під час написання) не дуже стабільна. Ознайомтеся з дорожньою карткою Маріонетти для отримання детальної інформації.
ОНОВЛЕННЯ
Selenium WebDriver 2.53.1 був випущений 30 червня 2016 року. FirefoxDriver
Знову працює з Firefox 47.0.1 як браузер.