Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在每种情况下使用Capybara重新启动浏览器?_Ruby_Selenium_Cucumber_Capybara - Fatal编程技术网

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

Ruby 如何在每种情况下使用Capybara重新启动浏览器?,ruby,selenium,cucumber,capybara,Ruby,Selenium,Cucumber,Capybara,我使用Cucumber与Capybara和SeleniumWebDriver一起运行测试。我希望在每个场景之后重新启动浏览器。这是我的名片。我可以在部分之后添加如下内容: After do |scenario| onError scenario if scenario.failed? page.driver.browser.close end 但这会在第一个方案通过且所有其他方案失败并出现合理错误后终止浏览器: Errno::ECONNREFUSED: Connection refus

我使用Cucumber与Capybara和SeleniumWebDriver一起运行测试。我希望在每个场景之后重新启动浏览器。这是我的名片。我可以在部分之后添加如下内容:

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,在每个场景中使用之前启动浏览器?

简单:

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