如何用Capybara关闭浏览器?

时间:2011-10-23 12:48:22

标签: ruby selenium capybara

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

4 个答案:

答案 0 :(得分:7)

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

page.execute_script "window.close();"

答案 1 :(得分:7)

此外:

page.driver.browser.close

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

答案 2 :(得分:2)

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

after do  
  Capybara.current_session.driver.quit  
end

答案 3 :(得分:1)

在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