问题 如何用Capybara关闭浏览器?


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


10406
2017-10-23 12:48


起源



答案:


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

page.execute_script "window.close();"

7
2017-11-11 20:25



当使用poltergeist / phantomjs时尝试关闭最后一个打开的窗口时,这对我不起作用,对其他人来说只是FYI。 - Steve Midgley


答案:


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

page.execute_script "window.close();"

7
2017-11-11 20:25



当使用poltergeist / phantomjs时尝试关闭最后一个打开的窗口时,这对我不起作用,对其他人来说只是FYI。 - Steve Midgley


也:

page.driver.browser.close

绝对适用于Selenium,虽然看起来可能不适合 水豚,WebKit的


5
2018-06-24 22:28





在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

1
2018-04-03 16:25





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

after do  
  Capybara.current_session.driver.quit  
end

1
2017-07-11 14:55