हम परीक्षण के तहत अपने वेब एप्लिकेशन के रूप में मर्करी टूर्स वेबसाइट का उपयोग करेंगे। यह एक ऑनलाइन उड़ान आरक्षण प्रणाली है जिसमें इस ट्यूटोरियल के लिए आवश्यक सभी तत्व शामिल हैं। इसका URL http://demo.guru99.com/test/newtours/ है, और यह हमारा आधार URL होगा।
रिकॉर्डिंग द्वारा एक स्क्रिप्ट बनाएँ
चलिए अब हम रिकॉर्डिंग के द्वारा सबसे सामान्य विधि का उपयोग करके सेलेनियम आईडीई में अपनी पहली परीक्षा स्क्रिप्ट बनाते हैं। बाद में, हम प्लेबैक सुविधा का उपयोग करके अपनी स्क्रिप्ट निष्पादित करेंगे।
चरण 1
- फ़ायरफ़ॉक्स और सेलेनियम आईडीई लॉन्च करें।
- हमारे बेस URL के लिए मान टाइप करें: http://demo.guru99.com/test/newtours/।
- रिकॉर्ड बटन टॉगल करें (यदि यह डिफ़ॉल्ट रूप से अभी तक चालू नहीं है)।
चरण 2
फ़ायरफ़ॉक्स में, http://demo.guru99.com/test/newtours/ पर नेविगेट करें। फ़ायरफ़ॉक्स आपको नीचे दिखाए गए पेज के समान पृष्ठ पर ले जाना चाहिए। |
|
चरण 3
|
|
चरण 4
|
|
चरण 5
|
|
चरण 6
रिकॉर्डिंग बंद करने के लिए रिकॉर्ड बटन को टॉगल करें। आपकी स्क्रिप्ट अब नीचे दिखाए गए के समान दिखनी चाहिए। |
|
चरण 7
अब जब हम अपने परीक्षण की स्क्रिप्ट के साथ कर रहे हैं, हम इसे एक परीक्षण के मामले में बचा लेंगे। फ़ाइल मेनू में, "टेस्ट केस सहेजें" चुनें। वैकल्पिक रूप से, आप बस Ctrl + S दबा सकते हैं। |
|
चरण 8
|
|
चरण 9।
ध्यान दें कि फ़ाइल HTML के रूप में सहेजी गई थी। |
चरण 10।
सेलेनियम आईडीई पर वापस जाएं और पूरे स्क्रिप्ट को निष्पादित करने के लिए प्लेबैक बटन पर क्लिक करें। सेलेनियम आईडीई को सब कुछ दोषपूर्ण रूप से दोहराने में सक्षम होना चाहिए।
सेलेनियम कमांड का परिचय - सेलेनीज
- सेलेनियस कमांड में अधिकतम दो पैरामीटर हो सकते हैं: लक्ष्य और मूल्य।
- पैरामीटर की आवश्यकता हर समय नहीं होती है। यह इस पर निर्भर करता है कि कमांड को कितने की आवश्यकता होगी।
3 प्रकार के कमांड
कार्रवाई |
ये कमांड हैं जो सीधे पेज एलिमेंट्स के साथ इंटरैक्ट करते हैं। उदाहरण: "क्लिक" कमांड एक क्रिया है क्योंकि आप सीधे उस तत्व के साथ बातचीत करते हैं जिसे आप क्लिक कर रहे हैं। "टाइप" कमांड भी एक क्रिया है क्योंकि आप एक टेक्स्ट बॉक्स में मान डाल रहे हैं, और टेक्स्ट बॉक्स बदले में उन्हें आपको दिखाता है। आपके और टेक्स्ट बॉक्स के बीच दो-तरफ़ा बातचीत होती है। |
पहुंचकर्ता |
वे कमांड हैं जो आपको एक वैरिएबल पर मान संग्रहीत करने की अनुमति देते हैं। उदाहरण: "storeTitle" कमांड एक एक्सेसर है क्योंकि यह केवल पृष्ठ शीर्षक को "पढ़ता है" और इसे एक चर में बचाता है। यह पृष्ठ पर किसी भी तत्व के साथ बातचीत नहीं करता है। |
इस प्रकार के दावे |
वे आदेश हैं जो सत्यापित करते हैं कि एक निश्चित शर्त पूरी हो गई है। 3 प्रकार के दावे
|
जोर देना बनाम सत्यापित करना
कॉमन कमांड्स
आदेश | पैरामीटर की संख्या | विवरण |
---|---|---|
खुला हुआ | 0 - 2 |
URL का उपयोग करके एक पृष्ठ खोलता है। |
click / clickAndWait | 1 |
एक निर्दिष्ट तत्व पर क्लिक करता है। |
टाइप करें / टाइप करें | २ |
पात्रों का एक क्रम टाइप करें। |
सत्यापित करें / सत्यापित करें | 1 |
एक अपेक्षित मूल्य के साथ वास्तविक पृष्ठ शीर्षक की तुलना करता है। |
VerTextPresent | 1 |
जाँचता है कि क्या पृष्ठ के भीतर एक निश्चित पाठ पाया जाता है। |
VerElementPresent | 1 |
एक निश्चित तत्व की उपस्थिति की जांच करता है। |
सत्यापन योग्य | २ |
अपेक्षित मानों के साथ तालिका की सामग्री की तुलना करता है। |
waForPageToLoad | 1 |
जब तक पृष्ठ पूरी तरह से लोड नहीं हो जाता तब तक निष्पादन को रोक देता है |
waForElementPresent | 1 |
निर्दिष्ट तत्व मौजूद होने तक निष्पादन को रोक देता है। |
Firebug के साथ मैन्युअल रूप से एक स्क्रिप्ट बनाएँ
अब, हम कमांड में टाइप करके उसी टेस्ट केस को मैन्युअल रूप से बनाएंगे। इस बार, हमें फायरबग का उपयोग करने की आवश्यकता होगी।
चरण 1
|
चरण 2: संपादक में सबसे ऊपरी रिक्त रेखा पर क्लिक करें। |
कमांड टेक्स्ट बॉक्स में "ओपन" टाइप करें और एंटर दबाएं। |
चरण 3
|
चरण 4
|
चरण 5
|
उपयोगकर्ता नाम पाठ बॉक्स पर क्लिक करें। ध्यान दें कि फायरबग स्वचालित रूप से आपको उस तत्व के लिए HTML कोड दिखाता है। |
चरण 6
ध्यान दें कि उपयोगकर्ता नाम पाठ बॉक्स में एक आईडी नहीं है, लेकिन इसमें एक NAME विशेषता है। इसलिए, हमें लोकेटर के रूप में इसके NAME का उपयोग करना चाहिए। NAME मान कॉपी करें और इसे सेलेनियम IDE में लक्ष्य फ़ील्ड पर पेस्ट करें। फिर भी लक्ष्य पाठ बॉक्स में, "name =" के साथ "userName" उपसर्ग करें, यह दर्शाता है कि सेलेनियम IDE को एक तत्व को लक्षित करना चाहिए जिसका NAME विशेषता "userName" है। सेलेनियम आईडीई के मान पाठ बॉक्स में "अमान्य" टाइप करें। आपकी परीक्षण स्क्रिप्ट अब नीचे दी गई छवि की तरह दिखनी चाहिए। हम तीसरे आदेश के साथ किया जाता है। नोट: अमान्य के बजाय, आप किसी अन्य पाठ स्ट्रिंग में प्रवेश कर सकते हैं। लेकिन सेलेनियम आईडीई मामला संवेदनशील है, और आप एप्लिकेशन में बिल्कुल मूल्यों / विशेषताओं को टाइप करते हैं। |
चरण 7
|
चरण 8
|
चरण 9: परीक्षण मामले को उसी तरह से बचाएं जैसे हमने पिछले अनुभाग में किया था।
फाइंड बटन का उपयोग करना
सेलेनियम आईडीई में खोजें बटन का उपयोग यह सत्यापित करने के लिए किया जाता है कि हमने लक्ष्य टेक्स्ट बॉक्स में क्या रखा था, वास्तव में सही यूआई तत्व है।
हमें पिछले अनुभागों में बनाए गए Invalid_login परीक्षण मामले का उपयोग करें। लक्ष्य प्रविष्टि के साथ किसी भी कमांड पर क्लिक करें, कहते हैं, तीसरी कमांड।
फाइंड बटन पर क्लिक करें। ध्यान दें कि बुध टूर्स पेज के भीतर यूजर नेम टेक्स्ट बॉक्स एक सेकंड के लिए हाइलाइट हो जाता है।
यह इंगित करता है कि सेलेनियम आईडीई अपेक्षित तत्व का सही तरीके से पता लगाने और उपयोग करने में सक्षम था। यदि Find बटन ने किसी अलग तत्व या किसी तत्व को उजागर किया है, तो आपकी स्क्रिप्ट में कुछ गड़बड़ होनी चाहिए।
निष्पादित आदेश
यह आपको पूरे परीक्षण मामले को चलाने के बिना किसी भी एक कमांड को निष्पादित करने की अनुमति देता है । बस उस लाइन पर क्लिक करें जिसे आप निष्पादित करना चाहते हैं और फिर मेनू बार से "कार्य> इस कमांड को निष्पादित करें" पर क्लिक करें या बस अपने कीबोर्ड पर "X" दबाएं।
चरण 1. सुनिश्चित करें कि आपका ब्राउज़र बुध टूर्स होमपेज पर है। उस कमांड पर क्लिक करें जिसे आप निष्पादित करना चाहते हैं। इस उदाहरण में, "प्रकार | userName | अमान्य" पंक्ति पर क्लिक करें।
चरण 2. अपने कीबोर्ड पर "X" दबाएं।
चरण 3. ध्यान दें कि उपयोगकर्ता नाम के लिए पाठ बॉक्स "अमान्य" पाठ से आबाद हो जाता है
इस तरह से आदेश जारी करना उस पृष्ठ पर अत्यधिक निर्भर है जो फ़ायरफ़ॉक्स वर्तमान में प्रदर्शित कर रहा है । इसका अर्थ है कि यदि आप बुध टूर्स के बजाय प्रदर्शित Google मुखपृष्ठ के साथ ऊपर दिए गए उदाहरण को आजमाते हैं, तो आपका चरण विफल हो जाएगा क्योंकि Google के मुखपृष्ठ में "उपयोगकर्ता नाम" विशेषता वाला कोई पाठ बॉक्स नहीं है।
प्रारंभ बिंदु
एक शुरुआत बिंदु एक संकेतक है जो सेलेनियम आईडीई को बताता है कि निष्पादन शुरू होगा । इसकी शॉर्टकट कुंजी "S" है।
ऊपर दिए गए उदाहरण में, प्लेबैक तीसरी पंक्ति (प्रकार | पासवर्ड | अमान्य पीडब्ल्यू) पर शुरू होगा। आप एक परीक्षण स्क्रिप्ट में केवल एक प्रारंभ बिंदु रख सकते हैं।
प्रारंभ बिंदु इस तरह से निष्पादित कमांड के समान है कि वे वर्तमान में प्रदर्शित पृष्ठ पर निर्भर हैं। यदि आप गलत पृष्ठ पर हैं तो प्रारंभ बिंदु विफल हो जाएगा।
ब्रेकप्वाइंट
ब्रेकप्वाइंट संकेतक हैं जो सेलेनियम आईडीई को बताते हैं जहां परीक्षण को स्वचालित रूप से रोकना है। शॉर्टकट कुंजी "बी" है।
पीला हाइलाइट का मतलब है कि वर्तमान चरण लंबित है। यह साबित करता है कि सेलेनियम आईडीई ने उस कदम पर निष्पादन रोक दिया है। आपके पास एक परीक्षण मामले में कई विराम बिंदु हो सकते हैं।
कदम
यह आपको परीक्षण के मामले को रोकने के बाद एक समय में सफल आदेशों को निष्पादित करने की अनुमति देता है। आइए हम पिछले खंड "ब्रेकप्वाइंट" में परिदृश्य का उपयोग करें।
"चरण" पर क्लिक करने से पहले। परीक्षण का मामला "clickAndWait | login" लाइन पर रुक जाता है। |
|
"चरण" पर क्लिक करने के बाद। "ClickAndWait | login" लाइन चलाई जाती है और अगले कमांड पर जाती है (verifyTit | साइन-ऑन: मर्करी टूर्स)। ध्यान दें कि अगली पंक्ति को रोक दिया गया है, भले ही वहां कोई ब्रेकप्वाइंट न हो। यह स्टेप फीचर का मुख्य उद्देश्य है - यह एक समय में सफल कमांड को निष्पादित करता है जिससे आपको प्रत्येक चरण के बाद परिणाम का निरीक्षण करने के लिए अधिक समय मिल सके। |
स्रोत में अन्य स्वरूपों का उपयोग करते समय ध्यान देने योग्य महत्वपूर्ण बातें
सेलेनियम आईडीई केवल HTML के साथ अच्छी तरह से काम करता है - अन्य प्रारूप अभी भी प्रयोगात्मक मोड में हैं । यह है उचित नहीं बनाने के लिए या स्रोत देखें में अन्य स्वरूपों का उपयोग संपादित परीक्षण अभी भी यह स्थिर बनाने के लिए आवश्यक बहुत काम है क्योंकि वहाँ। नीचे संस्करण 1.9.1 के रूप में ज्ञात कीड़े हैं।
- जब तक आप HTML में वापस नहीं आएंगे तब तक आप प्लेबैक नहीं कर पाएंगे और न ही टेबल व्यू पर वापस जा पाएंगे।
- स्रोत कोड पर सुरक्षित रूप से कमांड जोड़ने का एकमात्र तरीका उन्हें रिकॉर्ड करना है।
- जब आप स्रोत कोड को मैन्युअल रूप से संशोधित करते हैं, तो जब आप किसी अन्य प्रारूप में स्विच करते हैं तो यह सब खो जाएगा।
- हालांकि आप अपने परीक्षण के मामले को बचा सकते हैं, जबकि सोर्स व्यू में, सेलेनियम आईडीई इसे खोल नहीं पाएगा।
सेलेनियस परीक्षणों को परिवर्तित करने का अनुशंसित तरीका फ़ाइल मेनू के तहत "निर्यात परीक्षण केस जैसा ..." विकल्प का उपयोग करना है, और स्रोत दृश्य के माध्यम से नहीं।
सारांश
- टेस्ट स्क्रिप्ट को या तो कमांड या पैरामीटर को मैन्युअल रूप से रिकॉर्ड या टाइप करके बनाया जा सकता है।
- मैन्युअल रूप से स्क्रिप्ट बनाते समय, लोकेटर प्राप्त करने के लिए फायरबग का उपयोग किया जाता है।
- यह पता लगाने के लिए बटन का उपयोग किया जाता है कि कमांड सही तत्व तक पहुंचने में सक्षम है।
- तालिका दृश्य टेबुलर रूप में एक परीक्षण स्क्रिप्ट प्रदर्शित करता है जबकि स्रोत दृश्य इसे HTML प्रारूप में प्रदर्शित करता है।
- स्रोत दृश्य को गैर-HTML प्रारूप में बदलना अभी भी प्रयोगात्मक है।
- अन्य स्वरूपों में परीक्षण बनाने में स्रोत दृश्य का उपयोग न करें। इसके बजाय निर्यात सुविधाओं का उपयोग करें।
- पैरामीटर की आवश्यकता हर समय नहीं होती है। यह कमांड पर निर्भर करता है।
- तीन प्रकार के आदेश हैं:
- क्रियाएँ - सीधे पृष्ठ तत्वों के साथ इंटरैक्ट करती है
- एक्सेसर्स - एक तत्व संपत्ति को "पढ़ता है" और इसे एक चर में संग्रहीत करता है
- कथन - एक अपेक्षित मूल्य के साथ वास्तविक मूल्य की तुलना करता है
- सिद्धांतों के तीन प्रकार हैं:
- मुखर - विफलता पर, सफल कदम अब निष्पादित नहीं होते हैं
- सत्यापित करें - विफलता पर, सफल चरणों को अभी भी निष्पादित किया जाता है।
- WaitFor - गुजरता है यदि निर्दिष्ट स्थिति टाइमआउट अवधि के भीतर सच हो जाती है; अन्यथा, यह विफल हो जाएगा
- सबसे आम आदेश हैं:
- खुला हुआ
- click / clickAndWait
- टाइप करें / टाइप करें
- सत्यापित करें / सत्यापित करें
- VerTextPresent
- VerElementPresent
- सत्यापन योग्य
- waForPageToLoad
- waForElementPresent