पृष्ठभूमि:रनिंग समानांतर सेलेनियम परीक्षण
मैं Capybara एकीकरण मेरी रेल के खिलाफ 3 आवेदन चल रहा है परीक्षण का एक सेट है। परीक्षण सूट के अन्य हिस्सों के लिए मैं रुपयेपीई का उपयोग कर रहा हूं।
मेरे मैक ओएसएक्स देव मशीन पर एक सेलेनियम 2.6.0 स्टैंडअलोन सर्वर हब है।
java -jar selenium-server-standalone-2.6.0.jar -role hub
मैं कई आभासी मशीनों प्रत्येक एक सेलेनियम नोड के साथ हब को झुका चल रहा हूँ:
java -jar selenium-server-standalone-2.6.0.jar -role webdriver -hub http://0.0.1.12:4444/grid/register port 5555 -browser browserName="internet explorer",version=8,platform=WINDOWS
यह ठीक काम करता है, इस स्क्रीनशॉट में कंसोल से पता चलता है कि मैं एक IE7 और एक IE8 है ब्राउज़र हब से जुड़ा:
मैं सेलेनियम हब के खिलाफ चलाने के लिए सेटअप capybara है (कि प्रतिनिधियों नोड्स परीक्षण)।
Capybara.app_host = "myapp.dev"
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app,
:browser => :remote,
:url => "http://localhost:4444/wd/hub",
:desired_capabilities => :internet_explorer)
end
यह काम करता है, हालांकि यह केवल एक इंटरनेट_explorer नोड पर परीक्षण चलाएगा। ऐसा लगता है कि "पहली पंक्ति में" है; अगर मैं इसे बंद कर देता हूं, तो परीक्षण दूसरे नोड पर सफलतापूर्वक चल जाएगा।
मैं parallel_tests प्रोजेक्ट को आजमा रहा हूं, जैसा कि सुझाव के अनुसार कैपिबरा को कॉन्फ़िगर कर रहा है, लेकिन यह अभी भी एक एकीकरण परीक्षण लॉन्च करेगा।
मैं एक साथ सभी Internet_explorer नोड्स पर अपना एकीकरण कैसे चला सकता हूं?
बोनस सवाल: तो मैं, सभी जुड़े नोड्स पर अपने एकीकरण परीक्षण चलाने के लिए, ब्राउज़र क्षमता की परवाह किए बिना चाहते थे मैं कैसे कर होता है कि?
डैनियल, मुझे आपके जैसा ही समस्या है, क्या आप समाधान ढूंढने में सक्षम थे? – Farooq
मुझे पता चला कि यदि आपके पास 1 हब और 3 नोड्स चल रहे हैं और आप एक ही समय में 3 अलग-अलग टैब में 3 परीक्षण चलाते हैं तो परीक्षण सभी नोड्स में चलेंगे। प्रत्येक नोड के लिए 1 परीक्षण। असल में परीक्षण अगले खाली नोड को लाइन में उठाता है और वहां चलाता है। – Farooq