不幸的是,Selenium WebDriver 2.53.0与Firefox 47.0不兼容。处理Firefox浏览器(
FirefoxDriver)的WebDriver组件将停止使用。从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可以为您完成此工作,即为您的计算机(Linux,Mac或Windows)下载正确的Marionette二进制文件并导出正确的系统属性的值。要使用此库,您需要将此依赖项包含到您的项目中:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>3.8.1</version></dependency>
…然后在使用WebDriver之前在程序中执行以下行:
WebDriverManager.firefoxdriver().setup();
使用WebDriver的JUnit 4测试用例的完整运行示例如下:
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 pre here }}


