火狐与水豚和硒-Webdriver
我使用黄瓜与水豚和Selenium-Webdriver。到现在为止,我一直使用Chrome,但该项目也要求对Firefox进行一些跨浏览器测试。火狐与水豚和硒-Webdriver
在Firefox中运行时,我只是看到一个空白窗口,网页不显示。
这是错误我得到:
Selenium::WebDriver::Error::WebDriverError: no sessionId in returned payload
我的设置是:
Firefox V54
Cucumber 2.4
Selenium-webdriver 3.4.0
geckodriver 0.17
我的Firefox配置文件:
if ENV['firefox']
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
options = {
:js_errors => false,
}
Capybara::Selenium::Driver.new(app, :browser => :firefox)
end
任何想法,为什么我只得到在一个空白的窗口Firefox在测试中启动?
你声称是运行geckodriver v0.17(它应该与你列出的其他版本一起工作),但是那个错误意味着你没有。尝试运行bundle exec geckodriver --version
并查看它返回的内容。我猜你已经安装了gem,试图管理geckodriver的下载,而在运行测试时实际上会使用旧版本。如果是这种情况,请查看具体的Gem文档,了解如何更新已安装的geckodriver。
我有Geckodriver0.17的可执行文件我自己的路。当运行Bundler命令时,我得到以下内容:connect':SSL_connect returned = 1 errno = 0 state = SSLv3读取服务器证书B:证书验证失败(OpenSSL :: SSL :: SSLError) – Tom
@Tom事实上,输出告诉我你管理geckodriver的宝石中有一个安装在你的软件包或系统宝石中,并且它可能不会正确更新到0.17。运行时,Bundler修改了你的路径,以便在你的系统路径中选择宝石提供的二进制文件,看起来就是你正在发生的事情。寻找诸如'webdrivers','geckodriver-helper'等宝石,无论是在你的捆绑包或系统宝石中。卸载或强制他们更新已安装的geckodriver,然后重试。 –
我已经得到它的工作。我现在面临一个不可信的连接页面。你知道如何修改我的个人资料以忽略此信息,以便绕过此页面吗? – Tom
检查https://github.com/SeleniumHQ/selenium/issues/3621。 “3.0.5的错误是因为firefox升级到52。AFAIK capybara没有安装geckodriver。听起来你需要强制安装最新版本的geckodriver以及” – fabersky