इस ट्यूटोरियल में, हम सीखेंगे, स्टोर कमांड, इको कमांड, अलर्ट और पॉपअप हैंडलिंग।
भंडारण चर और इको कमांड
दुकान
सेलेनियम आईडीई में चर स्टोर करने के लिए, हम "स्टोर" कमांड का उपयोग करते हैं। नीचे दिया गया उदाहरण "ट्यूटोरियल" को "myVariable" नाम के एक वैरिएबल पर संग्रहीत करता है।
चर का उपयोग करने के लिए, बस इसे $ {...} प्रतीक में संलग्न करें। उदाहरण के लिए, Mercury Tours के "userName" टेक्स्टबॉक्स पर "myVariable" का मान दर्ज करने के लिए, मान फ़ील्ड में $ {myVariable "दर्ज करें।
StoreElementPresent
यह कमांड निर्दिष्ट तत्व की उपस्थिति के आधार पर या तो "सही" या "गलत" स्टोर करता है। नीचे दी गई स्क्रिप्ट बूलियन मान को "सत्य" से "var1" और "असत्य" से "var2" में संग्रहीत करती है। सत्यापित करने के लिए, हम var1 और var2 के मूल्यों को प्रदर्शित करने के लिए "इको" कमांड का उपयोग करेंगे। नीचे दिए गए चित्रण के लिए बेस URL बुध टूर्स होमपेज पर सेट किया गया था।
स्टोरटेक्स्ट
इस कमांड का उपयोग किसी तत्व के आंतरिक पाठ को एक चर पर संग्रहीत करने के लिए किया जाता है। नीचे दिया गया उदाहरण फेसबुक में टैग के आंतरिक पाठ को 'textVar' नामक एक चर पर संग्रहीत करता है।
चूंकि यह पृष्ठ का एकमात्र तत्व है, इसलिए हमारे लक्ष्य के रूप में 'css = h1' का उपयोग करना सुरक्षित है। नीचे दी गई छवि से पता चलता है कि सेलेनियम आईडीई 'वैल्यूवेर' वेरिएबल में स्ट्रिंग "साइन अप" को सही ढंग से प्रिंट करने में सक्षम था।
अलर्ट, पॉपअप और मल्टीपल विंडोज
अलर्ट संभवतः पॉप-अप विंडो का सबसे सरल रूप है। सबसे आम सेलेनियम आईडीई कमांड अलर्ट को संभालने में उपयोग किया जाता है:
assertAlert assertNotAlert | चेतावनी के संदेश को पुनः प्राप्त करता है और आपके द्वारा निर्दिष्ट स्ट्रिंग मान पर जोर देता है |
assertAlertPresent assertAlertNotPresent | चेतावनी देता है कि कोई अलर्ट मौजूद है या नहीं |
भंडार | चेतावनी संदेश पुनः प्राप्त करता है और इसे एक चर में संग्रहीत करता है जिसे आप निर्दिष्ट करेंगे |
भंडार | यदि कोई चेतावनी मौजूद है तो TRUE लौटाता है; FALSE अगर अन्यथा |
सत्यापित करें | चेतावनी का संदेश प्राप्त करता है और पुष्टि करता है कि यह आपके द्वारा निर्दिष्ट स्ट्रिंग मान के बराबर है |
सत्यापित करें | सत्यापित करता है कि कोई अलर्ट मौजूद है या नहीं |
अलर्ट के साथ काम करते समय इन दो बातों को याद रखें:
- सेलेनियम आईडीई स्वचालित रूप से चेतावनी विंडो के ओके बटन पर क्लिक करेगा, और इसलिए आप वास्तविक अलर्ट नहीं देख पाएंगे।
- सेलेनियम आईडीई उन अलर्ट को संभाल नहीं पाएगा जो पेज के ऑनलोड () फ़ंक्शन के भीतर हैं। यह केवल उन अलर्ट को हैंडल करने में सक्षम होगा जो पेज पूरी तरह से लोड होने के बाद उत्पन्न होते हैं।
इस उदाहरण में, हम यह दिखाने के लिए storeAlert कमांड का उपयोग करेंगे कि भले ही सेलेनियम IDE ने वास्तविक अलर्ट नहीं दिखाया था, फिर भी वह अपना संदेश प्राप्त करने में सक्षम था।
चरण 1. सेलेनियम आईडीई में, बेस URL को http://jsbin.com पर सेट करें। & पूर्ण url है: http://jsbin.com/usidix
चरण 2. स्क्रिप्ट को नीचे दिखाए अनुसार बनाएँ।
चरण 3. स्क्रिप्ट निष्पादित करें और उम्मीद न करें कि आप वास्तविक अलर्ट देख पाएंगे।
पुष्टिकरण
पुष्टिकरण पॉपअप हैं जो आपको ओके और CANCEL बटन देते हैं, अलर्ट के विपरीत जो आपको केवल ओके बटन देते हैं। कमांड जो आप पुष्टिकरण से निपटने में उपयोग कर सकते हैं वे अलर्ट से निपटने में समान हैं।
- मुखर / पुष्टि
- assertConfirmationPresent / assertConfirmationNotPresent
- संग्रह
- भंडार
- वेरिफिकेशन / सत्यापन
- VerConfirmationPresent / सत्यापित करेंसंचालन NotPresent
हालांकि, ये अतिरिक्त आदेश हैं जिनका उपयोग करने के लिए आपको सेलेनियम को चुनने के लिए उपयोग करने की आवश्यकता है, जो कि ठीक है या कैंसिल बटन का चयन करें।
- चुनें
- का चयन करें
आपको इन आदेशों का उपयोग एक आदेश से पहले करना चाहिए जो पुष्टि बॉक्स को ट्रिगर करता है ताकि सेलेनियम आईडीई को पहले से पता चल जाए कि कौन सा विकल्प चुनना है। फिर, आप स्क्रिप्ट निष्पादन के दौरान वास्तविक पुष्टिकरण बॉक्स नहीं देख पाएंगे।
आइए हम एक वेबपृष्ठ का परीक्षण करें जिसमें एक बटन है जिसे यह दिखाने के लिए कोडित किया गया था कि क्या उपयोगकर्ता ने OK या CANCEL बटन दबाया है।
चरण 1. सेलेनियम आईडीई में, बेस URL को http://jsbin.com पर सेट करें और पूर्ण url है: http://jsbin.com/nifaf
चरण 2. स्क्रिप्ट को नीचे दिखाए अनुसार बनाएँ। इस बार, हम पहले OK बटन दबाएंगे।
चरण 3. उस स्क्रिप्ट और सूचना को निष्पादित करें जिसे आप वास्तविक पुष्टि नहीं देखते हैं, लेकिन वेबपेज यह संकेत देने में सक्षम था कि सेलेनियम आईडीई ने कौन सा बटन दबाया था।
चरण 4. "selectOkOnNextConfirmation" कमांड को "selectCancelOnNextConfirmation" से बदलें और स्क्रिप्ट को फिर से निष्पादित करें।
एकाधिक विंडोज
यदि आप एक लिंक पर क्लिक करते हैं जो एक अलग विंडो लॉन्च करता है, तो आपको सबसे पहले सेलेनियम आईडीई को निर्देश देना होगा कि आप उस विंडो को पहले चुनें, ताकि आप उसके भीतर के तत्वों तक पहुंच सकें । ऐसा करने के लिए, आप विंडो के शीर्षक को इसके लोकेटर के रूप में उपयोग करेंगे ।
हम विंडोज़ के बीच स्विच करने में selectWindow कमांड का उपयोग करते हैं।
हम एक लिंक http://jsbin.com/ocinaj/1 का उपयोग करेंगे जिसका शीर्षक "प्रथम विंडो" है। उस पृष्ठ पर पाया गया "यहां" हाइपरलिंक एक नई विंडो में फेसबुक खोलेगा, जिसके बाद हम सेलेनियम आईडीई को निम्न करने के लिए निर्देश देंगे:
- पैरेंट विंडो से "सिलेक्टवॉन्डो" कमांड और लोकेटर के रूप में इसके शीर्षक का उपयोग करके नए लॉन्च किए गए फेसबुक विंडो पर नियंत्रण स्थानांतरित करें
- नई विंडो का शीर्षक सत्यापित करें
- अपने चयन के रूप में "selectWindow" कमांड और "null" का उपयोग करके मूल विंडो का चयन करें।
- वर्तमान में चयनित विंडो का शीर्षक सत्यापित करें
चरण 1. बेस URL को http://jsbin.com पर सेट करें।
चरण 2. स्क्रिप्ट को नीचे दिखाए अनुसार बनाएँ।
नई शीर्षक वाली विंडो को लोड करने से पहले उसके शीर्षक तक पहुंचने के लिए हमें "ठहराव" कमांड की आवश्यकता है।
चरण 3. स्क्रिप्ट निष्पादित करें। ध्यान दें कि टेस्ट केस पास हुआ, जिसका अर्थ है कि हम खिड़कियों के बीच स्विच करने और उनके शीर्षकों को सफलतापूर्वक सत्यापित करने में सक्षम थे।
हमेशा याद रखें कि "शून्य" के लिए सिलेक्ट वाउन्डो के लक्ष्य को स्वचालित रूप से मूल विंडो का चयन करेंगे (इस मामले में, वह विंडो जहां तत्व "लिंक = यहां" पाया गया है)
नोट: फेसबुक ने ट्यूटोरियल के निर्माण के बाद से शीर्षक बदल दिया है। कृपया तदनुसार कोड को संशोधित करें
सारांश
- "स्टोर" कमांड (और इसके सभी संस्करण) सेलेनियम आईडीई में चर स्टोर करने के लिए उपयोग किए जाते हैं
- "इको" कमांड का उपयोग स्ट्रिंग मान या चर को प्रिंट करने के लिए किया जाता है
- वेरिएबल्स को एक $ {…} के भीतर संलग्न किया जाता है, जब तत्वों पर मुद्रित या उपयोग किया जाता है
- अलर्ट से निपटने पर सेलेनियम आईडीई स्वचालित रूप से ओके बटन दबा देता है
- पुष्टिकरण संवादों को संभालते समय, आप सेलेनियम आईडीई को निर्देश दे सकते हैं कि किस विकल्प का उपयोग करना है:
- चुनें
- का चयन करें
- ब्राउज़र विंडो के बीच स्विच करने पर विंडो टाइटल को लोकेटर के रूप में उपयोग किया जाता है।
- "SelectWindow" कमांड का उपयोग करते समय, लक्ष्य को "null" पर सेट करने से मूल विंडो का चयन करने के लिए सेलेनियम IDE स्वचालित रूप से निर्देशित हो जाएगा।