2011-10-23 28 views
10

Ön uçumu test etmek için Capybara ile birden çok tarayıcı kullandığımda (selForum kullanarak) bir durumum var. Bazıları, ihtiyaç duyulmadıklarında Capibara'yı kullanarak nasıl kapatabilirim?Capybara ile tarayıcı nasıl kapatılır?

cevap

7

Sekmeler/pencereler JavaScript kullanılarak açılırsa, JavaScript'in bunları kapatmasına izin verilir. JS'yi page.execute_script kullanarak Capybara testinde çalıştırabilirsiniz. muhtemelen değil capybara-webkit için benziyor olsa da,

page.driver.browser.close 

Kesinlikle Selenyum için çalışır: env.rb dosyası içinde

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

Bu benim için çalışmıyor son kapatmak çalışırken Poltergeist/phantomjs kullanırken, sadece başkalarına FYI kullanırken pencereyi açın. –

1

bu kodu Ayrıca

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

yerleştirin. Eğer her test test takımdan sonunda tüm pencerelerini kapatarak yerine bitirir sonra her pencereyi kapatmak istiyorsanız

1

, deneyin:

after do 
    Capybara.current_session.driver.quit 
end 
İlgili konular