【问题标题】:Run Selenide with Selenium 3.0.0?使用 Selenium 3.0.0 运行 Selenide?
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

    • 我提到这不是 Selenide 的问题,而是众所周知的 Firefox webdriver 问题。我们都希望 Selenium webdriver 的未来版本能够与更新的 FF 版本一起使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2020-07-09
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 2014-07-17
    相关资源
    最近更新 更多