2011-10-23 15 views
10

Capybaraで複数のブラウザを使用して(フロントエンドをテストしています)、状況を把握しています。彼らが必要としないときに、カピバラを使ってそれらのいくつかを閉じるにはどうすればいいですか?カピバラでブラウザを閉じるには?

答えて

7

JavaScriptを使用してタブ/ウィンドウを開くと、JavaScriptがそれらを閉じることができます。あなたはpage.execute_scriptを使ってカピバラのテストでJSを実行できます。それはおそらくないcapybara-webkitのためのように見えるものの、

page.driver.browser.close 

は間違いセレンのために働く:env.rbファイル内

page.execute_script "window.close();" 
+0

これは私のために動作しません最後をクローズしようとしたときpoltergeist/phantomjsを使用しているときは、別の人にFYIだけを開いてください。 –

1

は、このコードも

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 
5

を挿入します。あなたは、各テストは、テストスーツの最後にすべてのウィンドウを閉じるのではなく、終了後に各ウィンドウを閉じたい場合は

1

、試してみてください。

after do 
    Capybara.current_session.driver.quit 
end 
関連する問題