google-chrome – 在capybara测试后,Chrome驱动程序不会退出

我默认使用capybara 2.1.0和selenium webdriver,minitest和test :: unit,对于需要访问.hover方法的一些测试,我使用的是Chrome webdriver

在几乎每个需要镀铬的测试结束时,我都有一个空白的镀铬窗口,我必须手动关闭以结束我的测试.

这是我的测试助手的一部分:

def use_chrome_driver
  Capybara.register_driver :selenium_chrome do |app|
    Capybara::Selenium::Driver.new(app, :browser => :chrome)
  end
  Capybara.current_driver = :selenium_chrome
end

def setup
  DatabaseCleaner.start
  Capybara.current_driver = :selenium
end

def teardown
  Capybara.reset_session!
  Capybara.use_default_driver
  DatabaseCleaner.clean
end

设置方法被chrome测试开始时调用的use_chrome_driver覆盖.即:

def test_example
  use_chrome_driver
  ...
end

如果我不手动关闭打开的Chrome浏览器,则此test_example将永远不会退出.当我手动退出他时,测试结束并且没有错误地通过.

那么为什么这个Chrome浏览器窗口每次都不会自动关闭? (有时它会自动关闭~15%!)

最佳答案 这似乎是最近的问题:
https://github.com/jnicklas/capybara/issues/1035#issuecomment-24301966

点赞