geb tutorial browser automation testing using geb tool
Geb (उच्चारण 'jeb') ब्राउज़र ऑटोमेशन की चुनौतियों का जवाब है। यह वेब पर स्वचालन परीक्षण करने के लिए एक बहुत प्रभावी उपकरण है।
गेब की उत्पत्ति ब्राउज़र स्वचालन (शुरुआत में वेब परीक्षण के लिए) कम जटिल, परेशानी मुक्त और अधिक कुशल बनाने के लिए हुई थी। इसका उपयोग प्रोग्रामिंग के लिए किया जा सकता है, वेब से डेटा निकालने और मैन्युअल वेब कार्यों को स्वचालित करने के लिए। इसके अतिरिक्त, Geb एक है क्रॉस ब्राउज़र स्वचालन परीक्षण के लिए उपकरण।
वेब ब्राउज़र और वेब सामग्री के बीच सहयोग को स्वचालित करने के लिए Geb एक डेवलपर द्वारा संचालित टूल के रूप में कार्य करता है। यह ग्रूवी भाषा में वेबड्राइवर चलाता है।
Geb परीक्षण उपकरण की सुंदरता यह है कि यह Groovy प्रोग्रामिंग भाषा, jQuery की सर्वोत्तम विशेषताओं को जोड़ती है, वेबड्राइवर और शक्तिशाली, मजबूत और गतिशील सामग्री निरीक्षण, चयन और वेब इंटरैक्शन प्रदान करने के लिए पेज ऑब्जेक्ट मॉडलिंग।
अन्य की तुलना में जब गेब अद्वितीय बनाता है स्वचालन परीक्षण उपकरण बाजार में उपलब्ध इसका सिंटेक्स है। यह jQuery के समान है जो आमतौर पर HTML पृष्ठों को आसानी से क्वेरी करने के लिए उपयोग किया जाता है। दूसरे, यह पृष्ठ वस्तु पैटर्न के लिए एकीकृत समर्थन है।
Geb कुछ व्यापक रूप से इस्तेमाल और आम परीक्षण प्लेटफार्मों सहित एकीकरण के माध्यम से कार्यात्मक वेब परीक्षण के लिए बहुत मदद करता है स्पॉक , ग्रेल्स, JUnit , ककड़ी-जेवीएम , TestNG, आदि हम देखेंगे कि इस लेख के बाद के भाग में गेब को ग्रेल्स फ्रेमवर्क के साथ कैसे एकीकृत किया जा सकता है।
आप क्या सीखेंगे:
- व्यावहारिक उपयोग
- लाभ
- आवश्यक शर्तें
- शुरू करना
- उदाहरण के साथ जानें
- Geb स्क्रिप्ट के माध्यम से डेटाबेस सत्यापन परीक्षण:
- Geb में कुछ उपयोगी तरीके
- इस उपकरण की कमियां
- और अधिक संसाधनों:
- निष्कर्ष
- अनुशंसित पाठ
व्यावहारिक उपयोग
जैसा कि पहले ही इस गेब ट्यूटोरियल के परिचय में चर्चा की जा चुकी है, इसका उपयोग किया जा सकता है:
- क्रोम, फ़ायरफ़ॉक्स, इंटरनेट एक्सप्लोरर, आदि जैसे कई ब्राउज़रों पर एक परीक्षण उपकरण के रूप में (एक ही स्वचालन स्क्रिप्ट को विभिन्न ब्राउज़रों पर आपके एप्लिकेशन के वेब परीक्षण के लिए चलाया जा सकता है।)
- उपयोगकर्ता स्वीकृति और कार्यात्मक परीक्षण मामलों को स्वचालित करने के लिए।
- किसी भी एप्लिकेशन के कार्यात्मक या वेब परीक्षण के लिए बनाए गए परीक्षण परिदृश्यों को स्वचालित करने के लिए।
- UI (उपयोगकर्ता इंटरफ़ेस) सत्यापन और DB (डेटाबेस) सत्यापन सहित अंत से अंत परीक्षण को कवर करने के लिए।
- वेब ब्राउज़र और वेब सामग्री के बीच की बातचीत को स्वचालित करने के लिए एक डेवलपर के उपकरण के रूप में।
लाभ
- गेब एक स्वतंत्र, खुला-खट्टा उपकरण है। यह अपाचे लाइसेंस, संस्करण 2.0 के तहत लाइसेंस प्राप्त है।
- वेब परीक्षण को स्वचालित करने के लिए आसान और सरल।
- गेब के पेज ऑब्जेक्ट्स और ग्रूवी डीएसएल परीक्षण को इस हद तक पठनीय बनाते हैं कि वे लगभग सादे अंग्रेजी की तरह दिखते हैं।
- परीक्षण तेजी से चलाता है और इस प्रकार परीक्षण का समय और लागत बचाता है।
- IE, फ़ायरफ़ॉक्स, क्रोम और HTMLUnit जैसे विभिन्न ब्राउज़रों के साथ संगत।
- यह वास्तविक ब्राउज़र में परीक्षण निष्पादित करता है। यह ऐसा है जैसे कि वास्तविक वातावरण में परीक्षण - उपयोगकर्ता जो देखेगा।
- यह प्रतिगमन परीक्षण को आसान बनाता है। यदि आप किसी मौजूदा कार्यक्षमता को ठीक करने या एप्लिकेशन में परिवर्तन के बाद तोड़ रहे हैं, तो आप जांच करने के लिए Geb स्वचालित परीक्षण मामलों को चला सकते हैं।
- स्वचालन परीक्षण के लिए Geb का उपयोग करते समय, यदि आपके एप्लिकेशन में कोई UI परिवर्तन हैं, तो न्यूनतम परीक्षण कोड परिवर्तन आवश्यक हैं। तो, यह कोड के प्रयास और दोहराव को कम करता है।
- यह एकल स्क्रिप्ट के भीतर 360 डिग्री (या अधिकतम) परीक्षण कवरेज में मदद करता है।
आवश्यक शर्तें
आरंभ करने से पहले, हमें सॉफ़्टवेयर को डाउनलोड और इंस्टॉल करना होगा। केंद्रीय मावेन भंडार में, गेब एक सिंगल गेब-कोर जार के रूप में उपलब्ध है। यहां क्लिक करें इसे अपनी मशीन पर स्थापित करने के लिए।
आपको गेब-कोर जार, एक वेब ड्राइवर कार्यान्वयन, और सेलेनियम-सपोर्ट जार की आवश्यकता होगी, जिससे गेब को आपकी मशीन पर काम करने में मदद मिलेगी।
कृपया उपकरण को स्थापित करने और इसे चलाने के लिए Geb की पुस्तक के नीचे की स्थापना और उपयोग अनुभाग देखें => चल रहा है Geb स्थापना और उपयोग मैनुअल ।
शुरू करना
जैसा कि पहले ही चर्चा की गई है, गेब को विभिन्न परीक्षण रूपरेखाओं के साथ एकीकृत किया जा सकता है।
आपके द्वारा चुने गए ढांचे के आधार पर, आपको संबंधित प्लगइन को स्थापित करना होगा।
उदाहरण के लिए : ग्रेल्स ( दाने स्वचालन अनुप्रयोगों को लिखने और परीक्षण परिदृश्यों को स्वचालित करने के लिए वेब अनुप्रयोगों के लिए एक बहुत प्रसिद्ध ढांचा है)। यदि आप अपने Grails कार्यात्मक परीक्षण के लिए Geb का उपयोग करना चाहते हैं, तो आप यहाँ से संबंधित प्लगइन स्थापित कर सकते हैं grails-geb plugin । यह प्लगइन संभालता है आधारभूत तथा रिपोर्टडायर कॉन्फ़िगरेशन आइटम।
उदाहरण के साथ जानें
अब मुझे दिखाते हैं कि टेस्ट परिदृश्य को स्वचालित करने के लिए Geb स्क्रिप्ट कैसे लिखनी है।
नीचे दिए गए परीक्षण परिदृश्य को लें:
परीक्षण परिदृश्य आईडी | Softwaretestinghelp-1 | टेस्ट केस आईडी | Softwaretestinghelp -1 ए |
बाहर जाएं | |||
टेस्ट केस विवरण | खोज इंजन के माध्यम से Softwaretestinghelp.com पृष्ठ सत्यापित करें | स्वचालन स्क्रिप्ट स्थिति | चालू |
पूर्व-अपेक्षा | 1 ब्राउज़र 2. सर्च इंजन 3. वेबसाइट - Softwaretestinghelp.com मौजूद होना चाहिए | पूर्व आवश्यक स्क्रिप्ट | ना |
निष्पादन कदम हैं:
Google खोज इंजन लॉन्च करें |
सत्यापित करें कि क्या खोज इंजन सफलतापूर्वक लोड किया गया है |
सर्च बॉक्स में softwaretestinghelp.com डालें |
परिणाम लोड होने की प्रतीक्षा करें |
सत्यापित करें कि परिणाम में पहला लिंक softwaretestinghelp.com को निर्देशित कर रहा है |
यदि हाँ, तो लिंक खोलें। |
वेबसाइट खुलने तक प्रतीक्षा करें। |
उपरोक्त परिदृश्य के लिए यहाँ Geb स्वचालन उपकरण स्क्रिप्ट है:
import geb.Browser Browser.drive { go 'http://google.com/' //verify if we are on the correct page assert title=='Google' //enter softwaretestinghelp.com into the search field $('input',name:'q').value('softwaretestinghelp.com') //wait for the change to results page to happen //(google updates the page dynamically without a new request) waitFor{ title.endsWith('Google Serach')} //is the first link to softwaretestinghelp.com? def firstLink = $('li.g,0).find('a.l') assert firstLink.text()= ='Software Testing Help - A Must Visit Software Testing Portal' //click the link firstLink.click() //wait for Google's javascript waitFor { title = ='Software Testing Help - A Must Visit Software Testing Portal' } }
अब आप उपरोक्त उदाहरण को संदर्भित करते हुए एक साधारण GEB स्क्रिप्ट लिखने का प्रयास कर सकते हैं।
Geb स्क्रिप्ट के माध्यम से डेटाबेस सत्यापन परीक्षण:
किसी भी वेब स्वचालन परीक्षण को तीन भागों में विभाजित किया गया है:
- UI सत्यापन - स्वचालन परीक्षण परिदृश्य चलने से पहले और बाद में उपयोगकर्ता इंटरफ़ेस (सामने के छोर) पर प्रतिबिंबित डेटा को मान्य करना।
- DB सत्यापन - स्वचालन परीक्षण परिदृश्य चलने से पहले और बाद में डेटाबेस (बैकएंड) में परिलक्षित डेटा को मान्य करना।
- वास्तविक परीक्षण प्रवाह / स्क्रिप्ट प्रवाह।
एक परीक्षण परिदृश्य को स्वचालित करने के लिए लिखी गई Geb स्क्रिप्ट में उपरोक्त तीनों खंडों के लिए कोड हो सकता है।
उपरोक्त उदाहरण अनुभाग में Geb स्क्रिप्ट परीक्षण प्रवाह और UI सत्यापन को स्वचालित करने के लिए थी। इसी तरह, आप डेटाबेस सत्यापन के लिए एक परीक्षण स्क्रिप्ट लिख सकते हैं।
किसी भी डीबी सत्यापन परीक्षण के लिए, आप हमेशा अपने कोड की रूपरेखा के रूप में नीचे दिए गए टेम्पलेट का उपयोग कर सकते हैं:
def validateDB(/*define all variables here*/) { def errorMessages = '' try { Configuration conf = (new ConfigurationLoader()).getConf() def sql = Sql.newInstance(conf.readValue('dbPath', ''), conf.readValue('dbUserName', ''), conf.readValue('dbPassword', ''), conf.readValue('dbDriverName', '')) /* Populate any required variables */ } /* Give print commands here to print required values */ def qry = /* select statement to pull all required values from database */ println 'SQL=$qry' sql.eachRow(qry) { row -> /* ‘if’ block to perform validation and returning error in case of any variations */ } catch(Exception e) { println 'EEEE=$e' } return errorMessages }
Geb में कुछ उपयोगी तरीके
- जब आपके परीक्षण मामले के परिदृश्य में कई टैब और विंडो शामिल होते हैं: जब भी आप एक नई विंडो या टैब खोलने वाले एप्लिकेशन पर आते हैं, उदाहरण के लिए लक्ष्य विशेषता सेट के साथ लिंक पर क्लिक करने पर, आप इसका उपयोग कर सकते हैं विन्दो () के साथ तथा withNewWindow () अन्य विंडो के संदर्भ में कोड निष्पादित करने के तरीके।
- ड्राइव विधि: ब्राउज़र क्लास में एक स्थिर तरीका होता है - चलाना() । यह विधि Geb स्क्रिप्टिंग को एक अतिरिक्त सुविधा देती है। सभी शीर्ष स्तर की विधि कॉल और संपत्ति एक्सेस ब्राउज़र के खिलाफ होने के लिए निहित हैं।
- अनुरोध करना: ब्राउज़र उदाहरण एक को बनाए रखते हैं आधारभूत संपत्ति जो सभी रिश्तेदार URL को हल करने के लिए नियोजित है। आमतौर पर अपने आधार URL को स्लैशिंग स्लैश के साथ परिभाषित करना और रिश्तेदार URL पर अग्रणी स्लैश का उपयोग न करना सबसे अधिक श्रेयस्कर है।
- पेज बदलना: उपयोगी की मदद से पृष्ठ() विधियाँ, नया अनुरोध किए बिना पृष्ठ आवृत्ति को बदलना संभव है।
- ब्राउज़र छोड़ना: ब्राउज़र ऑब्जेक्ट प्रदान करता है छोड़ो () तथा बंद करे() विधियाँ (जो बस आधार चालक को कार्य सौंपती हैं)।
इस उपकरण की कमियां
- उत्पन्न होने वाली कार्यान्वित वेबड्राइवर ग्रोवी भाषा में। इसके पीछे का पूरा विचार इसका उपयोग करना है वेबड्राइवर आसान और सरल। इसलिए, जब आप Geb के माध्यम से Webdriver का उपयोग कर रहे हैं, केवल Groovy प्रोग्रामिंग भाषा का समर्थन किया जाएगा। लेकिन, अगर आप सीधे उपयोग करते हैं वेबड्राइवर , यह रूबी, सी #, पायथन, जावा जैसी कई भाषाओं का समर्थन करता है।
- मैं छोटे प्रोजेक्ट्स के लिए Geb के उपयोग का सुझाव नहीं दूंगा - यह विशाल कार्यों के लिए कमाल का काम करता है लेकिन छोटी गतिविधियों पर जोर देता है। यदि आपके वेब एप्लिकेशन में कई पेज और फॉर्म नहीं होते हैं जिसके माध्यम से जानकारी प्रवाहित करने की आवश्यकता होती है, तो आपको पता चल सकता है कि वास्तव में Geb आपको अतिरिक्त समय खर्च करता है।
- यह बहुत खास है कि आपकी वेबसाइट एप्लिकेशन किस वातावरण का उपयोग करती है। फ़ंक्शन को ठीक करने के लिए Geb को एक विशिष्ट वातावरण में अच्छी तरह से एकीकृत किया जाना आवश्यक है।
और अधिक संसाधनों:
- इसकी जाँच पड़ताल करो यहां बुक ऑफ गेब विस्तृत प्रलेखन और उदाहरणों के लिए।
- यहाँ एक नमूना परियोजना दिखाई जा रही है अनाज के साथ गेब का एकीकरण ।
निष्कर्ष
टेस्ट केस परिदृश्यों को स्वचालित करने में गेब बहुत उपयोगी है। यह वेब, कार्यात्मक और उपयोगकर्ता स्वीकृति परीक्षण को स्वचालित करने के लिए उपयोगी है। यह कई ब्राउज़रों का समर्थन करता है और इसे विभिन्न रूपरेखाओं के साथ एकीकृत किया जा सकता है। यह वेबड्राइवर की शक्ति, jQuery चयन की लालित्य, पेज ऑब्जेक्ट मॉडलिंग की मजबूती और ग्रूवी की अभिव्यक्ति को जोड़ती है।
गेब स्क्रिप्ट दोनों डेवलपर और उपयोगकर्ता के अनुकूल हैं जो एक ही समय में इसे और अधिक कुशल बनाते हुए बेहतर परीक्षण कवरेज और त्वरित परीक्षण प्रदान करते हैं।
लेखक के बारे में: यह प्रिया के द्वारा एक अतिथि पोस्ट है। उसे विभिन्न सेवाओं के लिए परीक्षण और समर्थन में विशेषज्ञता के साथ आईटी सेवाओं में 4+ वर्ष का अनुभव है।
टिप्पणियों में अपने Geb स्वचालन परीक्षण प्रश्नों को पोस्ट करने के लिए स्वतंत्र महसूस करें।
अनुशंसित पाठ
- WAVE पहुँच क्षमता परीक्षण उपकरण ट्यूटोरियल
- Ranorex ट्यूटोरियल: एक शक्तिशाली डेस्कटॉप, वेब और मोबाइल स्वचालन परीक्षण उपकरण
- सिकली जीयूआई ऑटोमेशन टेस्टिंग टूल - बिगिनर्स गाइड पार्ट # 2
- तोता क्यूए ट्यूटोरियल: क्रॉस ब्राउज़र फंक्शनल टेस्टिंग टूल रिव्यू
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 (क्यूए टेस्ट स्वचालन उपकरण)
- शुरुआती के लिए गहराई से ग्रहण ट्यूटोरियल
- ऑटोमेशन परीक्षण क्या है (टेस्ट ऑटोमेशन शुरू करने के लिए अंतिम गाइड)
- Parasoft SOAtest ट्यूटोरियल: स्क्रिप्टलेस एपीआई टेस्टिंग टूल