2011-10-23 18 views
10

मेरे पास एक स्थिति है जब मैं उपयोग कर रहा हूं (सेलेनियम ड्राइवर का उपयोग कर) कैपिबरा के साथ कई फ्रंट ब्राउजर मेरे फ्रंट एंड का परीक्षण करने के लिए। कैपिबारा का उपयोग करके मैं उनमें से कुछ को कैसे बंद कर सकता हूं, जब उनकी आवश्यकता नहीं होती है?कैपिबरा के साथ ब्राउज़र कैसे बंद करें?

उत्तर

7

यदि जावास्क्रिप्ट का उपयोग कर टैब/विंडो खोले जाते हैं, तो जावास्क्रिप्ट को उन्हें बंद करने की अनुमति है। आप page.execute_script का उपयोग कर कैपिबरा परीक्षण में जेएस निष्पादित कर सकते हैं।

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

यह मेरे लिए काम नहीं करता है जब पिछले बंद करने का प्रयास poltergeist/phantomjs का उपयोग करते समय खुली खिड़की, बस दूसरों के लिए FYI। –

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 
5

भी सम्मिलित करें:

page.driver.browser.close 

निश्चित रूप से सेलेनियम के लिए काम करता है, हालांकि यह संभवतः नहीं capybara-webkit के लिए तरह दिखता है।

1

आप के बाद प्रत्येक परीक्षा अपने परीक्षण सूट के अंत में सभी विंडो बंद करने के बजाय खत्म प्रत्येक विंडो बंद करना चाहते हैं, तो कोशिश:

after do 
    Capybara.current_session.driver.quit 
end 
संबंधित मुद्दे