代码之家  ›  专栏  ›  技术社区  ›  Denis

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

  •  3
  • Denis  · 技术社区  · 11 年前

    我使用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 回复  |  直到 11 年前
        1
  •  1
  •   Denis    10 年前

    简单:

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