【发布时间】:2016-09-04 19:43:04
【问题描述】:
我的 Firefox 现在是 v 48。这似乎不适用于旧版本的 Selenium。出于这个原因,我不得不将(Gradle)Selenium 依赖项更改为
testCompile 'org.seleniumhq.selenium:selenium-java:3.+'
然后获取 geckodriver.exe 并将我的 Selenium 测试从:
WebDriver driver = new FirefoxDriver();
到
System.setProperty("webdriver.gecko.driver","D:\\apps\\geckodriver\\geckodriver-v0.10.0-win64\\geckodriver.exe");
DesiredCapabilities capabilities=DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver(capabilities);
(顺便说一句,我不知道 Gecko、Marionette 和 Capabilties 的所有内容是关于什么的……但上述方法对 Selenium 来说还可以)
但是在清理了依赖缓存之后,改用了最新版的Selenide,3.9.1,后者又把Selenium 2.53放到了缓存中,代码如下:
open("https://en.wikipedia.org/wiki/Main_Page");
... 导致此错误:
原因:org.openqa.selenium.firefox.NotConnectedException: Unable 在 45000 毫秒后连接到端口 7055 上的主机 127.0.0.1。火狐 控制台输出: -app-global","version":"1.0","type":"extension","internalName":null, ...
...似乎是因为 Selenium 2.53 无法处理我的 FF 版本。
我也尝试过使用 Selenium 3.0.0。与硒化物 3.9.1。这也不起作用,这并不奇怪,因为大概在 Selenide 代码的某个地方它使用了以下行:
WebDriver driver = new FirefoxDriver();
有什么建议吗?我不想使用旧版本的 FF ......那种技术总是不能令人满意......我想我可能会尝试摆弄相关的 Selenide java 文件并重新编译......但是比我聪明的人在做什么?
【问题讨论】:
标签: java selenium firefox dependencies selenide