为什么Java WebDriver不会使用更新的WebDriver扩展来启动Firefox?

时间:2014-05-14 20:44:13

标签: java maven firefox intellij-idea selenium-webdriver

我遇到了一个问题,我尝试在Java中使用WebDriver在Firefox 28中运行一些浏览器测试。问题是Firefox启动正常,但它没有获取第一个URL,而是挂在空白页面上。经过大量谷歌搜索后,我得出结论,我需要更新我的WebDriver绑定,所以我做到了。

此时我已将我的Maven依赖项设置为在Firefox 28上使用 Webdriver 2.41 应该兼容

事实上,当我在Sauce Labs上运行此配置时,它运行良好。但是,它仍然无法在本地运行。当我查看我的本地计算机上由WebDriver发布的Firefox版本中安装的Extensions时,我看到一个名为Firefox WebDriver 2.32.0的扩展名,其中有一条警告,其中2.32与Firefox 28不兼容。

Sauce Labs Firefox实例上的相同扩展名为v. 2.39.0,并且未显示任何警告。当我在本地启动Firefox而不是通过WebDriver启动时,我根本没有看到安装WebDriver的任何扩展。

如何确保WebDriver使用更新的WebDriver扩展程序启动Firefox版本?

我正在运行Win 7 x64。我用FF 27,28和29做了同样的尝试;和WebDriver版本2.39,2.40和2.41(作为Maven依赖项导入)。使用IntelliJ IDEA 13.0.2。

网上有一些关于WebDriver在Firefox上发布空白页面的(未解决的)问题的花絮。以下是一些选择链接:

firefox 26 and webdriver 2.39.0 upgradation is not working https://code.google.com/p/selenium/issues/detail?id=7104 https://code.google.com/p/selenium/issues/detail?id=7189

这是我的Maven依赖:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.41.0</version>
</dependency>

我也尝试了同样的结果:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-server</artifactId>
    <version>2.41.0</version>
</dependency>

在这两种情况下,我都进行了检查并安装了selenium-api

更新

我从我的本地2.32存储库中手动删除了.m2文件夹,但代码无法编译,即使我有很多其他版本的WebDriver就位于其他文件夹中回购。我可以让它工作的唯一方法是将Maven依赖项重置为2.32并重新导入,以便再次显示该文件夹。当我希望它使用最新版本时,为什么它依赖于旧版本?

1 个答案:

答案 0 :(得分:1)

这是因为我的类路径中有一些库未被修改为Maven依赖项,包括旧版本的Selenium WebDriver库。要在IntelliJ中解决它,我执行了以下操作:

  • 转到文件/项目结构/模块
  • 查找符合我试图摆脱
  • 版本的Selenium .jars
  • 使用向下箭头将这些降级为我正在尝试使用的WebDriver绑定下方的位置