Firefox与Capybara和Selenium-Webdriver

时间:2017-06-22 13:40:41

标签: firefox selenium-webdriver cucumber capybara

我正在使用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时只会出现一个空白窗口?

1 个答案:

答案 0 :(得分:1)

您声称正在运行geckodriver v0.17(它应该与您列出的其他版本一起使用)但是该错误意味着您不会。尝试运行bundle exec geckodriver --version并查看它返回的内容。我猜你已经安装了一个gem来试图管理geckodriver的下载,并且在你运行测试时实际上正在使用旧版本。如果是这种情况,请查看特定的gem文档,了解如何更新已安装的geckodriver。