我正在使用Cucumber和Capybara以及Selenium-Webdriver。到目前为止,我一直使用Chrome,但该项目也要求对Firefox进行一些跨浏览器测试。
在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时只会出现一个空白窗口?
答案 0 :(得分:1)
您声称正在运行geckodriver v0.17(它应该与您列出的其他版本一起使用)但是该错误意味着您不会。尝试运行bundle exec geckodriver --version
并查看它返回的内容。我猜你已经安装了一个gem来试图管理geckodriver的下载,并且在你运行测试时实际上正在使用旧版本。如果是这种情况,请查看特定的gem文档,了解如何更新已安装的geckodriver。