我的Firefox现在是v48。这似乎不适用于较早版本的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); (顺便说一句,我不知道这些壁虎、马里奥内特和能力的东西是怎么回事.但是上面的方法对于Selenium是可以的)
但是,在清除依赖缓存并使用Selenide的最新版本3.9.1之后,Selenide将Selenium 2.53放入缓存中,并编写了以下代码:
open("https://en.wikipedia.org/wiki/Main_Page");..。导致此错误:
造成: org.openqa.selenium.firefox.NotConnectedException:无法连接主机127.0.0.1端口7055后,在45000 ms。火狐控制台输出:-app-全局“,”版本“:”1.0“,”类型“:”扩展“,"internalName":null,.
..。这似乎是因为Selenium 2.53无法处理我的FF版本。
我还尝试使用Selenium 3.0.0。与Selenide 3.9.1。这也不起作用,这一点也不奇怪,因为大概在Selenide代码中的某个地方,它使用了以下一行:
WebDriver driver = new FirefoxDriver();有什么建议吗?我不想用旧版本的FF..。那种技术总是不能令人满意..。我想我可以尝试修改相关的Selenide java文件并重新编译.但有什么人比我聪明呢?
发布于 2016-09-04 11:43:04
我刚收到一封来自Selenide作者的电子邮件,他告诉我这是一个已知的问题,最好是使用旧版本的FF,或者最好使用Chrome。我采用了后一种解决方案,并通过了测试。我并不是完全喜欢,因为我有几个不喜欢Chrome的理由。希望未来版本的Selenide将迎合较新的FF版本。
https://stackoverflow.com/questions/39310684
复制相似问题