带有 Capybara 和 Selenium-Webdriver 的 Firefox
Firefox with Capybara and Selenium-Webdriver
我将 Cucumber 与 Capybara 和 Selenium-Webdriver 一起使用。直到现在,我一直使用 Chrome 但该项目也要求对 Firefox 进行一些跨浏览器测试。
当在 Firefox 中 运行 时,我只是得到一个空白 window 并且网页没有出现。
这是我得到的错误:
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 时只得到一个空白 window?
您声称是 运行ning geckodriver v0.17(应该可以与您列出的其他版本一起使用),但该错误表明您不是。试试 运行ning bundle exec geckodriver --version
看看它是什么 returns。我猜你已经安装了一个 gem 试图管理 geckodriver 的下载,而当你 运行 你的测试时实际上正在使用一个旧版本。如果是这种情况,请查看特定的 gem 文档,了解如何更新已安装的 geckodriver。
我将 Cucumber 与 Capybara 和 Selenium-Webdriver 一起使用。直到现在,我一直使用 Chrome 但该项目也要求对 Firefox 进行一些跨浏览器测试。
当在 Firefox 中 运行 时,我只是得到一个空白 window 并且网页没有出现。
这是我得到的错误:
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 时只得到一个空白 window?
您声称是 运行ning geckodriver v0.17(应该可以与您列出的其他版本一起使用),但该错误表明您不是。试试 运行ning bundle exec geckodriver --version
看看它是什么 returns。我猜你已经安装了一个 gem 试图管理 geckodriver 的下载,而当你 运行 你的测试时实际上正在使用一个旧版本。如果是这种情况,请查看特定的 gem 文档,了解如何更新已安装的 geckodriver。