如何在每种情况下使用Capybara重启浏览器?

时间:2014-08-28 06:02:22

标签: ruby selenium cucumber capybara

我使用Cucumber与Capybara和Selenium-Webdriver一起运行测试。我想在每个场景后重启浏览器。这是我的env.rb。我可以在之后部分添加以下内容:

After do |scenario|
  onError scenario if scenario.failed?
  page.driver.browser.close
end

但是这会在第一个场景通过后杀死浏览器,所有其他场景都会因合理错误而失败:

Errno::ECONNREFUSED: Connection refused - connect(2) for "127.0.0.1" port 7055

有没有办法重构我的env.rb以使用之前 hook在每个场景中启动浏览器?

1 个答案:

答案 0 :(得分:1)

简单:

Before do
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end