我遇到了一个问题,我尝试在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
并重新导入,以便再次显示该文件夹。当我希望它使用最新版本时,为什么它依赖于旧版本?
答案 0 :(得分:1)
这是因为我的类路径中有一些库未被修改为Maven依赖项,包括旧版本的Selenium WebDriver库。要在IntelliJ中解决它,我执行了以下操作:
.jars