运行 使用 Selenium 3.0.0 的硒化物?

Run Selenide with Selenium 3.0.0?

我的 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");

...导致此错误:

Caused by: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: -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 文件并重新编译...但是人们是什么比我聪明吗?

我刚收到 Selenide 作者的电子邮件,他告诉我这是一个已知问题,最好的办法是使用旧版本的 FF,或者最好使用 Chrome。 我选择了后一种解决方案并通过了测试。 我对此并不 完全 满意,因为我有几个不喜欢 Chrome 的原因。希望 Selenide 的未来版本能够满足更新的 FF 版本。