Purtroppo Selenium WebDriver 2.53.0 non è compatibile con Firefox 47.0. Il componente WebDriver che gestisce i browser Firefox ( FirefoxDriver
) verrà interrotto. A partire dalla versione 3.0, Selenium WebDriver avrà bisogno del geckodriver
binario per gestire i browser Firefox. Maggiori informazioni qui e qui .
Pertanto, per utilizzare Firefox 47.0 come browser con Selenium WebDriver 2.53.0, è necessario scaricare il driver Firefox (che è un file binario chiamato a geckodriver
partire dalla versione 0.8.0, e precedentemente wires
) ed esportare il suo percorso assoluto alla variabile webdriver.gecko.driver
come una proprietà di sistema nel codice Java:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
Fortunatamente, la libreria WebDriverManager può fare questo lavoro per te, cioè scaricare il binario Marionette appropriato per la tua macchina (Linux, Mac o Windows) ed esportare il valore della proprietà di sistema appropriata. Per utilizzare questa libreria, devi includere questa dipendenza nel tuo progetto:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.1.0</version>
</dependency>
... e quindi eseguire questa riga nel programma prima di utilizzare WebDriver:
WebDriverManager.firefoxdriver().setup();
Un esempio di esecuzione completo di un test case JUnit 4 utilizzando WebDriver potrebbe essere il seguente:
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
}
}
Tieni presente che Marionette sarà l'unica opzione per il futuro (per WebDriver 3+ e Firefox 48+), ma attualmente (versione 0.9.0 al momento della scrittura) non è molto stabile. Dai un'occhiata alla roadmap di Marionette per ulteriori dettagli.
AGGIORNARE
Selenium WebDriver 2.53.1 è stato rilasciato il 30 giugno 2016. FirefoxDriver
funziona di nuovo con Firefox 47.0.1 come browser.