我默认使用capybara 2.1.0和selenium webdriver
,minitest
和test::unit
,对于需要访问.hover
方法的某些测试,我正在使用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
在Chrome测试开始时调用的use_chrome_driver
覆盖了安装方法。即:
def test_example
use_chrome_driver
...
end
如果我未手动关闭已打开的Chrome浏览器,则此test_example
将永不退出。当我手动退出他时,测试结束并且没有错误地通过。
那么为什么每次Chrome浏览器窗口都不会自动关闭? (有时它会自动关闭~15%!)
答案 0 :(得分:2)