如何使用ruby、cucumber、capybara和bddfire gem打开chrome浏览器?

如何使用ruby、cucumber、capybara和bddfire gem打开chrome浏览器?,ruby,cucumber,capybara,bdd,Ruby,Cucumber,Capybara,Bdd,我是BDD测试的新手,我正试图弄清楚如何使用这些技术在特定的URL中打开chrome浏览器。我已经安装了bddfiregem并运行了它 现在我有一个特点: @openingChrome Scenario: Opening Chrome on facebook page Given I open chrome and write "url" bddfir_steps.rb Given(/^I open chrome and write "([^"]*)"$/) do |arg1| $se

我是BDD测试的新手,我正试图弄清楚如何使用这些技术在特定的URL中打开chrome浏览器。我已经安装了bddfiregem并运行了它

现在我有一个特点:

@openingChrome
Scenario: Opening Chrome on facebook page
Given I open chrome and write "url"
bddfir_steps.rb

Given(/^I open chrome and write "([^"]*)"$/) do |arg1|
    $session.visit("https://www.facebook.com.br")
end
在我写的hooks文件中

Before do
  $session = Capybara::Session.new(:selenium, browser: :chrome)
end
在bddfiregem附带的env.rb文件中有

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end
所以chrome已经添加了,我已经安装了ChromeWebDriver。不幸的是,这行代码不起作用:$session=Capybara::session.new(:selenium,browser::chrome)

它抛出此错误:
会话::new的第二个参数应该是机架应用程序(如果通过)。(TypeError)

有人知道原因吗?

Session#new使用驱动程序的名称,还可以选择启动rack app实例。因为你似乎没有启动一个应用程序,而且你正在用你想要的chrome名称注册你的驱动程序

Before do
  $session = Capybara::Session.new(:chrome)
end