我对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)
有人知道为什么吗?
答案 0 :(得分:0)
Session#new使用驱动程序的名称以及一个可选的机架应用程序实例来启动。由于您似乎没有启动应用程序,并且正在使用所需的:chrome名称注册驱动程序
Before do
$session = Capybara::Session.new(:chrome)
end