在尝试将 Selenium WebDriver 与 Firefox 结合使用时,用户遇到了一个错误,表明与 Firefox 之间的连接失败浏览器和网络驱动程序。受影响的用户报告了以下规格:
值得注意的是,Selenium WebDriver 2.53.0 与 Firefox 47.0 不兼容。这是因为用于管理 Firefox 浏览器的 FirefoxDriver 组件已停止使用。因此,要将 Firefox 47.0 与 Selenium WebDriver 2.53.0 一起使用,必须下载 Firefox 驱动程序 (geckodriver) 并将其绝对路径导出到 Java 系统属性。
替代解决方案:
或者,您可以使用 WebDriverManager 之类的库来自动执行下载过程并导出系统属性。为此,请在您的项目中包含以下依赖项:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.1.0</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 code here } }
虽然 Marionette 将是未来版本的主要选项,但重要的是要意识到它目前缺乏稳定。请参阅 Marionette 路线图了解更多信息。
更新:
Selenium WebDriver 2.53.1 于 2016 年 6 月 30 日发布,解决了此兼容性问题。 FirefoxDriver 现在支持 Firefox 47.0.1 浏览器。
以上是如何解决 Selenium 2.53 和 Firefox 47 之间的兼容性问题?的详细内容。更多信息请关注PHP中文网其他相关文章!