Ne yazık ki Selenium WebDriver 2.53.0, Firefox 47.0 ile uyumlu değildir. Firefox tarayıcılarını ( FirefoxDriver
) işleyen WebDriver bileşeni kullanımdan kaldırılacaktır. Sürüm 3.0'dan itibaren, Selenium WebDriver, geckodriver
Firefox tarayıcılarını yönetmek için ikili programa ihtiyaç duyacaktır . Burada ve burada daha fazla bilgi .
Bu nedenle, Selenyum WebDriver 2.53.0 ile tarayıcısı olarak Firefox 47,0 kullanmak için, indirmek gerekir Firefox sürücüsü (adında bir ikili dosya olan geckodriver
sürümü 0.8.0 itibariyle ve eskiden wires
) ve değişkene mutlak yolunu dışa webdriver.gecko.driver
olarak Java kodunuzdaki bir sistem özelliği:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
Neyse ki, WebDriverManager kitaplığı bu işi sizin için yapabilir, yani makineniz için uygun Marionette ikili dosyasını (Linux, Mac veya Windows) indirin ve uygun sistem özelliğinin değerini dışa aktarın. Bu kitaplığı kullanmak için, bu bağımlılığı projenize dahil etmeniz gerekir:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.2.0</version>
</dependency>
... ve sonra WebDriver'ı kullanmadan önce bu satırı programınızda yürütün:
WebDriverManager.firefoxdriver().setup();
WebDriver kullanan bir JUnit 4 test senaryosunun eksiksiz çalışan bir örneği aşağıdaki gibi olabilir:
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'in gelecek için tek seçenek olacağını göz önünde bulundurun (WebDriver 3+ ve Firefox 48+ için), ancak şu anda (yazma sırasında sürüm 0.9.0) çok kararlı değil. Daha fazla ayrıntı için Marionette yol haritasına bir göz atın .
GÜNCELLEME
Selenium WebDriver 2.53.1 , 30 Haziran 2016'da piyasaya sürüldü . Tarayıcı olarak FirefoxDriver
Firefox 47.0.1 ile tekrar çalışıyor .