【问题标题】:How do I open a chrome browser using ruby, cucumber, capybara and bddfire gem?如何使用 ruby​​、cucumber、capybara 和 bddfire gem 打开 chrome 浏览器?
【发布时间】:2018-08-11 20:38:33
【问题描述】:

我是 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)

有人知道为什么吗?

【问题讨论】:

    标签: ruby cucumber capybara bdd


    【解决方案1】:

    Session#new 采用驱动程序的名称和可选的机架应用程序实例来启动。由于您似乎没有启动应用程序并且您正在使用您想要的名称注册驱动程序 :chrome

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

    【讨论】:

      猜你喜欢
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多