如何使用红宝石,黄瓜,水豚和bddfire宝石打开Chrome浏览器?

时间:2018-08-11 20:38:34

标签: ruby cucumber capybara bdd

我对BDD测试非常陌生,我正在尝试找出如何使用这些技术在特定的URL中打开chrome浏览器。我已经安装了bddfire gem并已经运行它。

现在我有一个功能:

@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

在我写的钩子文件中

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

bddfire gem随附的env.rb文件中是

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end

因此chrome已被添加,并且我已经安装了chrome webdriver。不幸的是,以下代码行不起作用:$ session = Capybara :: Session.new(:selenium,browser::chrome)

它引发以下错误:The second parameter to Session::new should be a rack app if passed. (TypeError)

有人知道为什么吗?

1 个答案:

答案 0 :(得分:0)

Session#new使用驱动程序的名称以及一个可选的机架应用程序实例来启动。由于您似乎没有启动应用程序,并且正在使用所需的:chrome名称注册驱动程序

Before do
  $session = Capybara::Session.new(:chrome)
end
相关问题