2012-05-14 12 views
5

सेलेनियम/पायथन के साथ वेब एप्लिकेशन का परीक्षण करने का प्रयास करते समय मुझे कोई समस्या है। असल में मैं पॉप-अप विंडो के तत्वों का परीक्षण नहीं कर सकता।सेलेनियम: पॉप-अप विंडो का परीक्षण

एक परिदृश्य: मैं किसी पृष्ठ के सभी तत्वों का परीक्षण कर सकता हूं। लेकिन जब मैं एक बटन पर क्लिक करने के लिए जाता हूं जो एक छोटे पॉप अप बॉक्स को खोलता है तो मैं पॉपअप पर तत्वों का परीक्षण नहीं कर सकता। ऐसा लगता है कि पॉप अप फोकस या सक्रिय नहीं है।

मैं अगले पृष्ठ पर तत्वों का परीक्षण कर सकता हूं। उदाहरण के लिए, एक बटन क्लिक करें, मुझे अगले पृष्ठ पर लाता है, और मैं 'अगले' पृष्ठ पर तत्वों के साथ काम कर सकता हूं। तो यह समस्या पॉपअप विशिष्ट प्रतीत होता है।

मैं कोड पोस्ट कर सकता हूं लेकिन ईमानदार होने के लिए यह इस चरण में भ्रमित हो सकता है। मैं एक बाद में पोस्ट में कोड पोस्ट कर सकते हैं, धन्यवाद

उत्तर

6

एक संपत्ति वहाँ कहा जाता है switch_to

प्रश्न: मैं खिड़कियों पॉप अप कैसे निपटेंगे?

ए: वेबड्राइवर कई खिड़कियों से निपटने की क्षमता प्रदान करता है। यह ज्ञात नाम वाली विंडो पर स्विच करने के लिए WebDriver.switch_to.window(knownName) विधि का उपयोग कर किया जाता है।

यदि नाम ज्ञात नहीं है, तो आप ज्ञात विंडोज़ की सूची प्राप्त करने के लिए WebDriver.window_handles का उपयोग कर सकते हैं।

आप उदाहरण मैं driverName.switchTo.window(driverName.getWindowHandle()) इस्तेमाल किया पॉपअप जिसके लिए मैं नाम के लिए देखने के लिए नहीं करना चाहता था पर भी नियंत्रण प्राप्त करने के लिए switch_to.window(handleName)

को संभाल कर सकती है।

अतिरिक्त संदर्भ: http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions

+0

इसके लिए धन्यवाद। मैं सेलेनियम आरसी का उपयोग कर रहा हूँ। क्या इसे आरसी में अनुकूलित किया जा सकता है? – user1303594

+0

http://stackoverflow.com/questions/99045/handling-browser-pop-up-windows-with-selenium यह आरसी से संबंधित प्रतीत होता है। मैंने आरसी का उपयोग नहीं किया है, इसलिए मुझे नहीं पता। – CosminO

+0

कोई जांच नहीं, हालांकि वेब चालक समाधान के लिए धन्यवाद, काम में आ जाएगा – user1303594

0

सेलेनियम आर सी एपीआई के लिए, आप पॉप-अप विंडो पर स्विच करने के SelectWindow आदेश का उपयोग करने की आवश्यकता है। विंडो को या तो इसके नाम से निर्दिष्ट किया जा सकता है (जैसा कि जावास्क्रिप्ट window.open() फ़ंक्शन पर निर्दिष्ट है) या इसका शीर्षक। मुख्य विंडो पर वापस जाने के लिए, SelectWindow(None) का उपयोग करें।

संबंधित मुद्दे