当 Net::ReadTimeout 错误发生时,水豚不会关闭浏览器
Capybara doesn't close browser when Net::ReadTimeout error happens
我正在 运行 使用 Capybara、Cucumber 和 Selenium Webdriver (Ruby) 测试 Rails 应用程序。我有一个问题:为什么 Capybara 在 Net::ReadTimeout 发生时不关闭浏览器,即使我有一个钩子要求浏览器在每个测试场景后退出?如何在 Net::ReadTimeout 发生时强制它关闭浏览器?
这是我的 hooks.rb
after do |scenario|
if scenario.failed?
page.driver.browser.save_screenshot("#{scenario.__id__}.png")
end
Capybara.current_session.driver.browser.manage.delete_all_cookies
Capybara.current_session.driver.quit
end
我有另一个适合我的解决方案。
添加gemcapybara-screenshot
以这种方式配置您的 spec_helper.rb
:
Capybara::Screenshot.autosave_on_failure = true
Capybara::Screenshot.prune_strategy = :keep_last_run
Capybara.default_wait_time = 60
我正在 运行 使用 Capybara、Cucumber 和 Selenium Webdriver (Ruby) 测试 Rails 应用程序。我有一个问题:为什么 Capybara 在 Net::ReadTimeout 发生时不关闭浏览器,即使我有一个钩子要求浏览器在每个测试场景后退出?如何在 Net::ReadTimeout 发生时强制它关闭浏览器?
这是我的 hooks.rb
after do |scenario|
if scenario.failed?
page.driver.browser.save_screenshot("#{scenario.__id__}.png")
end
Capybara.current_session.driver.browser.manage.delete_all_cookies
Capybara.current_session.driver.quit
end
我有另一个适合我的解决方案。
添加gem
capybara-screenshot
以这种方式配置您的
spec_helper.rb
:
Capybara::Screenshot.autosave_on_failure = true
Capybara::Screenshot.prune_strategy = :keep_last_run
Capybara.default_wait_time = 60