我在selenium webdriver
默认情况下使用 capybara 2.1.0minitest
和test::unit
,对于一些需要访问该.hover
方法的测试,我使用的是 Chrome webdriver
在几乎所有需要 chrome 的测试结束时,我都有一个空白的 chrome 窗口,我必须手动关闭它才能结束我的测试。
这是我的测试助手的一部分:
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
setup 方法use_chrome_driver
在 chrome 测试开始时被调用覆盖。IE :
def test_example
use_chrome_driver
...
end
test_example
如果我不手动关闭打开的 Chrome 浏览器,这将永远不会退出。当我手动退出他时,测试完成并通过,没有错误。
那么为什么这个 Chrome 浏览器窗口不会每次都自动关闭呢?(有时它会自动关闭〜15%!)