如何用Capybara关闭浏览器?

我有一种情况,当我使用(使用:selenium驱动程序)多个浏览器与Capybara测试我的前端。 如果不需要Capybara,如何使用Capybara关闭其中一些?

如果使用JavaScript打开选项卡/窗口,则允许JavaScript关闭它们。 您可以使用page.execute_scriptpage.execute_script测试中执行JS。

 page.execute_script "window.close();" 

也:

 page.driver.browser.close 

绝对适用于Selenium,虽然看起来可能不适用于capybara-webkit 。

在env.rb文件中插入此代码

 After do |scenario| print "OZONEEEEE" page.execute_script "window.close();" # restart Selenium driver Capybara.send(:session_pool).delete_if { |key, value| key =~ /selenium/i } end 

如果您想在每次测试结束后关闭每个窗口而不是关闭测试结束时的所有窗口,请尝试:

 after do Capybara.current_session.driver.quit end