【发布时间】:2011-08-10 22:26:04
【问题描述】:
假设我有 3 个场景大纲,我需要使用 Firefox 运行场景 1,关闭浏览器,然后使用 Chrome 运行场景 2,关闭浏览器,最后使用 Firefox 运行场景 3。 在每个场景之后,有什么方法可以关闭/退出 Cucumber/Capybara 中的浏览器?
到目前为止,我已经注册了两个驱动程序,一个用于 Firefox,一个用于 Chrome:
Capybara.register_driver :selenium_firefox do |app|
Capybara::Driver::Selenium.new(app, :browser => :firefox)
end
Capybara.register_driver :selenium_chrome do |app|
Capybara::Driver::Selenium.new(app, :browser => :chrome)
end
然后在 hooks.rb 中,我使用了一个“自定义”标签“@alternate_browser”
Before('@alternate_browser') do
driver = Capybara.current_driver
if driver == :selenium_firefox
Capybara.current_driver = :selenium_chrome
else
Capybara.current_driver = :selenium_firefox
end
end
有没有办法在每个场景之后强制关闭浏览器?
编辑:我试过了:
page.evaluate_script("window.close()")
page.execute_script("window.close()")
但是这两种说法都没有效果。
【问题讨论】: