Niestety Selenium WebDriver 2.53.0 nie jest kompatybilny z Firefoksem 47.0. Komponent WebDriver, który obsługuje przeglądarki Firefox ( FirefoxDriver
), zostanie wycofany. Od wersji 3.0 Selenium WebDriver będzie potrzebował pliku geckodriver
binarnego do zarządzania przeglądarkami Firefox. Więcej informacji tutaj i tutaj .
Dlatego, aby używać Firefoksa 47.0 jako przeglądarki z Selenium WebDriver 2.53.0, musisz pobrać sterownik Firefoksa (który jest plikiem binarnym o nazwie geckodriver
od wersji 0.8.0 i dawniej wires
) i wyeksportować jego bezwzględną ścieżkę do zmiennej webdriver.gecko.driver
jako właściwość systemowa w kodzie Java:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
Na szczęście biblioteka WebDriverManager może wykonać tę pracę za Ciebie, tj. Pobrać odpowiedni plik binarny Marionette dla Twojej maszyny (Linux, Mac lub Windows) i wyeksportować wartość odpowiedniej właściwości systemu. Aby użyć tej biblioteki, musisz uwzględnić tę zależność w swoim projekcie:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.1.0</version>
</dependency>
... a następnie wykonaj tę linię w swoim programie przed użyciem WebDriver:
WebDriverManager.firefoxdriver().setup();
Kompletny działający przykład przypadku testowego JUnit 4 przy użyciu WebDriver mógłby wyglądać następująco:
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
}
}
Weź pod uwagę, że Marionette będzie jedyną opcją na przyszłość (dla WebDriver 3+ i Firefox 48+), ale obecnie (wersja 0.9.0 w momencie pisania) nie jest zbyt stabilna. Zapoznaj się z mapą drogową Marionette, aby uzyskać więcej informacji.
AKTUALIZACJA
Selenium WebDriver 2.53.1 został wydany 30 czerwca 2016 r. FirefoxDriver
Ponownie współpracuje z przeglądarką Firefox 47.0.1 .