java在Selenium 3.0.0中运行Selenium IDE?
我的Firefox现在是V48。这似乎不适用于旧版本的Selenium。出于这个原因,我不得不将(Gradle)Selenium依赖项更改为
testCompile 'org.seleniumhq.selenium:selenium-java:3.+'
然后抓住geckodriver.exe
并将我的硒测试从以下位置更改为:
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);
(顺便说一句,我不知道这些壁虎、木偶和能力的东西是关于什么的……但是上面的这些对硒来说是可行的)
但是,在清理依赖项缓存后,使用最新版本的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。。。那种技术总是不令人满意的。。。我想我可能会尝试修改相关的SelenideJava文件并重新编译。。。但是比我聪明的人在做什么呢
# 1 楼答案
我刚刚收到一封来自Selenide作者的电子邮件,他告诉我这是一个已知的问题,最好使用旧版本的FF,或者最好使用Chrome。 我采用了后一种解决方案,考试通过了。 我对这个不太满意,因为我不喜欢Chrome有几个原因。希望未来版本的Selenide能够满足更新的FF版本