विशेषज्ञ स्तर सेलेनियम फ्रेमवर्क 2021

इस ट्यूटोरियल में, हम टेस्ट ऑटोमेशन फ्रेमवर्क और डिज़ाइन के बारे में विस्तृत रूप से जानेंगे और सेलेनियम फ्रेमवर्क को स्क्रैच से उन्नत स्तर तक विकसित करेंगे।

आइए अवधारणा से उन्नत स्तर तक के साथ सेलेनियम फ्रेमवर्क डेवलपमेंट को पूरा करने के लिए ट्यूटोरियल की इस श्रृंखला को कई मॉड्यूल में तोड़ते हैं।

सेलेनियम फ्रेमवर्क
ऑटोमेशन फ्रेमवर्क

सेलेनियम फ्रेमवर्क के प्रकार और उनकी विशेषताएं

विभिन्न प्रकार के सेलेनियम फ्रेमवर्क को डिज़ाइन किया गया और बनाया गया है, जो कि आवेदन की जरूरतों को ध्यान में रखते हुए बनाया गया है। हर तरह के टेस्ट ऑटोमेशन ढांचे में अलग-अलग विशेषताएं और फायदे / नुकसान हैं।

हम नीचे के क्षेत्रों में सेलेनियम फ्रेमवर्क को वर्गीकृत कर सकते हैं:

  • कीवर्ड ड्रिवेन टेस्ट ऑटोमेशन फ्रेमवर्क 
  • डेटा चालित परीक्षण स्वचालन ढांचा।
  • हाइब्रिड ढांचा 
  • पेज ऑब्जेक्ट मॉडल टेस्ट ऑटोमेशन फ्रेमवर्क 
  • हाइब्रिड पेज ऑब्जेक्ट मॉडल टेस्ट ऑटोमेशन फ्रेमवर्क 
  • व्यवहार संचालित विकास (BDD) टेस्ट ऑटोमेशन फ्रेमवर्क 

टेस्ट ऑटोमेशन सेलेनियम फ्रेमवर्क सुविधाएँ

सेलेनियम में कीवर्ड ड्रिवेन फ्रेमवर्क

कीवर्ड संचालित फ्रेमवर्क क्या है?

सेलेनियम में कीवर्ड ड्रिवेन फ्रेमवर्क एक सेलेनियम फ्रेमवर्क है जिसे फीचर या डिज़ाइन के चारों ओर बनाया गया है जहाँ कीवर्ड फ़्रेमवर्क को चलाता है; हम देखेंगे कि कैसे। 

कीवर्ड संचालित ढांचा कैसे काम करता है: 

जैसा कि ऊपर उल्लेख किया गया है, केडीएफ आश्रित है या कीवर्ड के आधार पर बनाया गया है, इसलिए एक कीवर्ड क्या है? 

कीवर्ड कुछ भी नहीं बल्कि वेब एक्शन शब्द हैं (जैसे क्लिक, टाइप, माउसओवर, स्विचफ्रेम आदि), अब आप इन कीवर्ड्स को कुछ रेपो (या एक्सेल फाइलों में बताएं) को स्टोर करते हैं और सभी कीवर्ड की क्रियाओं के लिए आप एक क्लास को परिभाषित करते हैं (जो सेलेनियम कमांड का उपयोग करके वेबएशन यूटिलिटी है और लिखते हैं विशिष्ट कीवर्ड के लिए विशिष्ट तरीके।

अब अगला कदम मूल रूप से आपकी स्क्रिप्ट से है जब आप उल्लेख करते हैं कि मान लें कि कुछ वल्मीकरण पर क्लिक करते हैं, तो उस स्थिति में, संबंधित ऑपरेशन को कीवर्ड का रेपो (यहां हमारे मामले में एक्सेल और फिर ऑपरेशन के आधार पर यह संबंधित तरीकों को कॉल करता है जिन्हें आपने कक्षा में परिभाषित किया था)।

इसके अतिरिक्त, आपके पास विभिन्न रिपोर्टिंग तंत्र हैं (मान लीजिए कि रिपोर्ट रिपोर्ट या लुभाना रिपोर्ट है ) जो आप रिपोर्टिंग की देखभाल के लिए अपने सेलेनियम ढांचे के साथ एकीकृत कर सकते हैं।

कीवर्ड संचालित फ्रेमवर्क फायदे

  • केडीएफ डिजाइन और विकसित करना आसान है 
  • जटिलता और चक्रीय जटिलता इतनी अधिक नहीं है 
  • बनाए रखने और डिबग करने में आसान।
  • केडीएफ का निर्माण कम प्रयास और समय लेता है और कीवर्ड द्वारा एकल ट्रिगर बिंदु से नियंत्रित किया जाता है।

कीवर्ड संचालित फ्रेमवर्क नुकसान 

  • केडीएफ एक संपूर्ण और उन्नत ढांचा नहीं है और इसमें एक ढांचे की कई उन्नत विशेषताओं का अभाव है जिसकी चर्चा हम बाद में करेंगे।
  • विभिन्न ओपन-सोर्स टूल्स के साथ एकीकरण इतना लचीला नहीं है।
  • विभिन्न डेटा ड्रिवेन फ्रेमवर्क के साथ व्यापक रूप से समर्थित नहीं किया जा सकता है, अर्थात वह ढांचा जो संचालित होता है और जैसे जटिल डेटा को संभालने के लिए आवश्यक होता है छवि पाठ, YML, PDF
  • कीवर्ड संचालित फ्रेमवर्क एक के रूप में सुरक्षित नहीं है हाइब्रिड या पेज ऑब्जेक्ट मॉडल फ्रेमवर्क.

सेलेनियम में डेटा संचालित रूपरेखा 

डेटा चालित ढांचा क्या है?

सेलेनियम में डेटा ड्रिवेन फ्रेमवर्क एक प्रकार का सेलेनियम फ्रेमवर्क है जिसे फीचर या डिज़ाइन के आसपास बनाया गया है जहाँ डेटा फ़्रेमवर्क को संचालित करता है; हम देखेंगे कि कैसे:

डेटा चालित ढांचा कैसे काम करता है

डेटा ड्रिवेन फ्रेमवर्क को एप्लिकेशन के स्वचालन को करने के लिए जटिल और विभिन्न प्रकार के डेटा को संभालने के लिए डिज़ाइन किया गया है।

इस तरह की रूपरेखा उपयोगी और निर्मित है जहां आपके स्वचालन परिदृश्य और उपयोग के मामलों को एक ही कार्यात्मकताओं पर डेटा के विभिन्न सेटों के साथ परीक्षण किया जाना चाहिए।

इसलिए डेटा ऑटोमेशन के प्रवाह को चलाता है जहां एक ही परीक्षण परिदृश्यों को विभिन्न डेटा सेटों के संबंध में परीक्षण किया जाता है, और डीडीएफ को विभिन्न प्रकार के डेटा को संभालने में सक्षम होना चाहिए जैसे एक्सेल, सीएसवी, वाईएमएल, पीडीएफ, टेक्स्ट, डेटाबेस, इमेज डेटा आदि।

तो आप उपयोग कर सकते हैं TestNG डेटा प्रदाता, TestNG XML ने डेटा, JDBC कनेक्शन मैनेजर, PDF डेटा हैंडलर, YML का मानकीकरण किया डेटा हैंडलर। 

छवि डेटा हैंडलिंग के साथ काम करने के लिए आप Tesseract OCR का उपयोग कर सकते हैं।

डेटा संचालित फ्रेमवर्क फायदे 

  • कई प्रकार के डेटा प्रारूप के साथ काम करने के मामले में डेटा ड्रिवेन फ्रेमवर्क बहुत बहुमुखी और मजबूत है।
  • एक ही स्क्रिप्ट को विभिन्न मामलों / कोने के मामलों के साथ चलाने के लिए नियंत्रित किया जा सकता है जिसमें केवल विभिन्न सीमा वातानुकूलित डेटा सेट को जोड़ा जा सकता है।
  • बनाए रखने और डिबग करने में आसान।
  • जटिल स्वचालन परिदृश्य को संभाल सकता है

डेटा संचालित ढांचा नुकसान

  • डीडीएफ का डिज़ाइन कसकर युग्मित है।
  • एक बार ढांचा बन जाने के बाद स्वचालन क्षेत्रों या औजारों के संदर्भ में नई और महत्वपूर्ण वृद्धि के लिए समर्थन की संभावना कम होती है। जिसका अर्थ है कि वृद्धि सीधे आगे नहीं है।
  • हाइब्रिड सेलेनियम फ्रेमवर्क या पेज ऑब्जेक्ट मॉडल फ्रेमवर्क की तुलना में कम लचीला और कम सुरक्षित।

 

सेलेनियम स्वचालन में हाइब्रिड ढांचा

हाइब्रिड ढांचा क्या है?

सेलेनियम में हाइब्रिड फ्रेमवर्क एक प्रकार का सेलेनियम फ्रेमवर्क है जो मूल रूप से कीवर्ड संचालित और डेटा संचालित फ्रेमवर्क की अवधारणा को ले कर फीचर या डिज़ाइन के आसपास बनाया गया है। 

तो, 

हाइब्रिड फ्रेमवर्क => डेटा ड्रिवेन फ्रेमवर्क + कीवर्ड ड्रिवेन फ्रेमवर्क।

हाइब्रिड फ्रेमवर्क कैसे काम करता है

द्वारा समर्थित और संचालित हाइब्रिड ढाँचा कीवर्ड संचालित दृष्टिकोण डेटा संचालित परीक्षण को संभालने की क्षमता के साथ, इसलिए दोनों विशेषताओं को कीवर्ड रिपॉजिटरी और उनके कार्यान्वयन के साथ और विभिन्न डेटा प्रदाताओं और Dala हैंडलर्स के साथ सक्षम किया जाता है जो डेटा ड्रिवेन फ्रेमवर्क की मुख्य विशेषता है।

पेज ऑब्जेक्ट मॉडल - टेस्ट ऑटोमेशन फ्रेमवर्क

पेज ऑब्जेक्ट मॉडल क्या है 

पृष्ठ ऑब्जेक्ट मॉडल रूपरेखा जैसा कि नाम से पता चलता है, मूल रूप से एक सेलेनियम फ्रेमवर्क डिज़ाइन है और इसे नीचे की विशेषताओं और अवधारणाओं के आसपास विकसित किया गया है:

  • पूरे वेब एप्लिकेशन को अलग-अलग वेबपेजों में विभाजित किया गया है, और यदि कभी-कभी प्रत्येक वेबपेज में बहुत अधिक कार्यक्षमताओं होते हैं, तो यह कार्यात्मकताओं के आधार पर अलग-अलग पेज मॉड्यूल्स पर भी टूट जाता है। 
  • अब हर पृष्ठ या पृष्ठ मॉड्यूल एक अलग वर्ग का प्रतिनिधित्व करता है(जावा वर्ग)।
  • लैंडिंग पृष्ठ के लिए हर पेज फंक्शनलिटी (जैसे, लॉगिन, साइन अप आदि) जावा क्लास में अलग-अलग तरीकों का प्रतिनिधित्व करता है, जो ट्रंक में अलग-अलग पेज तरीकों का प्रतिनिधित्व करता है।
  • पेज लोकेटर संबंधित पेज / मॉड्यूल के लिए लोकेटर के अलावा कुछ भी नहीं हैं और क्लासिक पेज फैक्टरी या ए द्वारा विकसित और संग्रहीत हैं अनुकूलित पेज ऑब्जेक्ट मॉडल।
  • मूल रूप से यूनिट टेस्ट फ्रेमवर्क (@test मेथड) से, हम अलग-अलग पेज मेथड्स (पेज क्लासेज की ऑब्जेक्ट्स बनाकर) और अंततः अलग-अलग पेज मेथड्स को फिर से पेज लोकेटर (उस वेबपेज के वेब एलिमेंट्स) कहते हैं। 

क्यों पेज वस्तु मॉडल || पृष्ठ ऑब्जेक्ट मॉडल के लाभ

पेज ऑब्जेक्ट मॉडल फ्रेमवर्क डिज़ाइन उद्योग में उपयोग किए जाने वाले नवीनतम फ्रेमवर्क मॉडल में से एक है, और यह इसके साथ विभिन्न अग्रिम विशेषताओं के साथ आता है  

  • के रूप में पूरे वेब अनुप्रयोग कई वेबपेजों / पेज मॉड्यूल और अंततः अलग-अलग जावा पेज क्लास और पेज तरीकों में विभाजित है, इसलिए एक केंद्रीकृत तरीके से कोड को बनाए रखना और डिबग करना आसान है। इसलिए विशिष्ट पृष्ठ की कार्यक्षमता में किसी भी परिवर्तन के मामले में हमें केवल विशिष्ट पद्धति को बनाए रखना है।
  • पेज लोकेटर पेज / मॉड्यूल से संबंधित विशिष्ट स्थान में संग्रहीत किए जाते हैं, इसलिए यह मुख्य और डीबग करने में आसान है और वेब तत्वों में किसी भी बदलाव के मामले में भी है।
  • पृष्ठ ऑब्जेक्ट मॉडल ऑटोमेशन फ्रेमवर्क स्तर के संदर्भ में सबसे अच्छा सुरक्षा मॉडल प्रदान करता है क्योंकि पृष्ठ परतें शिथिल युग्मित और केंद्रीकृत कोड (संबंधित वर्ग वर्गों के लिए) हैं।
  • पेज ऑब्जेक्ट मॉडल फ्रेमवर्क डिज़ाइन के साथ, आप डिज़ाइन पर बहुत बदलाव किए बिना अपने मौजूदा फ्रेमवर्क का विस्तार और समर्थन कर सकते हैं और विभिन्न एकीकरण को संभालने के लिए इसके साथ ही फ्रेमवर्क उपयोगिताओं और घटकों को जोड़ते रहें।
  • थर्ड-पार्टी टूल्स और टेक स्टैक का एकीकरण भी लचीला है।
  • विभिन्न रिपोर्टिंग टूल और सुविधाओं को प्लग इन किया जा सकता है और पेज ऑब्जेक्ट मॉडल डिज़ाइन के साथ बेहतर तरीके से प्रबंधित और नियंत्रित किया जा सकता है।
  • आप क्लासिक पृष्ठ फैक्टरी अवधारणा का उपयोग करके या इंटरफ़ेस के कार्यान्वयन के साथ पेज ऑब्जेक्ट मॉडल को डिज़ाइन कर सकते हैं। 

हम यहां विस्तृत पृष्ठ ऑब्जेक्ट मॉडल रूपरेखा को डिज़ाइन करने का तरीका देखेंगे।

हाइब्रिड पेज ऑब्जेक्ट मॉडल सेलेनियम फ्रेमवर्क

हाइब्रिड पेज ऑब्जेक्ट मॉडल फ्रेमवर्क एक दृष्टिकोण के साथ डिज़ाइन किया गया है, जहां डेटा संचालित फ्रेमवर्क और पेज ऑब्जेक्ट मॉडल फ्रेमवर्क का संयोजन है।

यहां हाइब्रिड पेज ऑब्जेक्ट मॉडल फ्रेमवर्क में, कोर डिजाइन पेज ऑब्जेक्ट मॉडल पर आधारित है और डेटा-चालित परीक्षण के साथ काम करने के लिए विशाल डेटा हैंडलर का उपयोग करता है।

हम यहां हाइब्रिड पेज ऑब्जेक्ट मॉडल फ्रेमवर्क डिजाइन करेंगे। 

व्यवहार संचालित विकास (BDD) टेस्ट ऑटोमेशन फ्रेमवर्क 

BDD फ्रेमवर्क एक सेलेनियम फ्रेमवर्क है जहां डिजाइन और स्वचालन के प्रवाह को व्यवहार द्वारा संचालित किया जाता है।

BDD फ्रेमवर्क क्या है? 

BDD फ्रेमवर्क को परीक्षण किए गए मामलों या क्रियाओं के व्यवहार के आधार पर नियंत्रित या डिज़ाइन किया गया है। 

BDD फ्रेमवर्क में, हम Gherkin भाषा नामक भाषा का उपयोग करते हैं, जो फ्रेमवर्क का ड्राइविंग बिंदु है। 

गेरकिन भाषा मूल रूप से दिए गए प्रारूप में है, जब, तब (जहां दिए गए एक पूर्व शर्त का वर्णन करती है, जब आप कुछ webelement पर कुछ ऑपरेशन करते हैं जैसे कि क्लिक ऑपरेशन कहते हैं आदि और फिर मूल रूप से अभिकथन के लिए है)

ऑटोमेशन फ्रेमवर्क के लिए आवश्यक उपकरण और प्रौद्योगिकी

सेलेनियम एक ओपन-सोर्स टूल है, और यह साथ में कोई इनबिल्ट फ्रेमवर्क प्रदान नहीं करता है। इसलिए आपको टूल और प्रौद्योगिकियों के साथ सेलेनियम ढांचे को डिजाइन और विकसित करने की आवश्यकता है। 

आप उपयोग कर सकते हैं सेलेनियम ढांचे के विकास के साथ काम करने के लिए उपकरण

  • ग्रहण / इंटेलीज आइडिया (एक विकास आईडीई के रूप में)
  • जेनकिंस (एक सीआई उपकरण के रूप में यदि आप निर्माण करना चाहते हैं स्वचालन के साथ CICD पाइपलाइन)
  • मावेन / ग्रैडल / एंट (ए के रूप में) उपकरण का निर्माण)
  • TestNg / JUnit (एक यूनिट टेस्ट फ्रेमवर्क के रूप में)
  • सेलेनियम बंडल्स / जार (सेलेनियम निर्भरता के रूप में)
  • जावा / सी # / पायथन (भाषा के रूप में)
  • ReportNg / विस्तृत रिपोर्ट / लुभाना (रिपोर्टिंग सुविधाओं के लिए)
  • ELK स्टैक (यदि आप उन्नत बनाना चाहते हैं वास्तविक समय की रिपोर्ट)
  • धूसर (यदि आप निर्माण करना चाहते हैं उन्नत वास्तविक समय लॉगिंग डैशबोर्ड बाकी आप Log4J आदि का उपयोग कर सकते हैं)
  • Tesseract OCR प्रौद्योगिकियों छवि मान्यता और छवि पाठ स्वचालन के लिए 
  • फॉन्टबॉक्स, पीडीएफ डेटा हैंडलिंग क्षमताओं के लिए Pdfbox
  • एक्सेल डेटा हैंडलिंग के लिए अपाचे POI
  • देशी ऐप ऑटोमेशन मामलों को संभालने के लिए सिकुली / ऑटो इट।
  • अपने स्वचालन ढांचे के साथ TestCase प्रबंधन उपकरण एकीकरण के उद्देश्य के लिए TestLink / Jira क्लाइंट लाइब्रेरी 

एक मजबूत सेलेनियम ढांचे के निर्माण के लिए ये प्रमुख और अक्सर उपयोग किए जाने वाले उपकरण और तकनीक स्टैक हैं। 

निष्कर्ष: इस ट्यूटोरियल में हमने सेलेनियम ऑटोमेशन फ्रेमवर्क का अवलोकन किया था और सेलेनियम फ्रेमवर्क की विशेषताएं क्या हैं और रोबस्ट टेस्ट ऑटोमेशन फ्रेमवर्क के निर्माण के लिए कौन से टूल की आवश्यकता है, आने वाले ट्यूटोरियल में हम सेलेब्रिटी बनाने के लिए डिज़ाइन सिद्धांतों और डिज़ाइन पैटर्न के बारे में चर्चा करेंगे। फ्रेमवर्क और अंत में हम एक फ्रेमवर्क हैंड बनाएंगे, जिस पर आप अपने दृष्टिकोण से उपयोग कर सकते हैं। पूरे के बारे में जानने के लिए सेलेनियम ट्यूटोरियल आप यहाँ देख सकते हैं है और सीएएए की गंभीर सेलेनियम साक्षात्कार प्रश्न यहां क्लिक करें।

देबर्घ्य के बारे में

विशेषज्ञ स्तर सेलेनियम फ्रेमवर्क 2021स्वंय देवबर्घ्य रॉय, मैं एक इंजीनियरिंग शाखा हूं, जो 5 कंपनी और एक ओपन सोर्स योगदानकर्ता के साथ काम कर रही है, जिसके पास विभिन्न टेक्नोलॉजी स्टैक में 12 साल का अनुभव / विशेषज्ञता है।
मैंने जावा, सी #, पायथन, ग्रूवी, यूआई ऑटोमेशन (सेलेनियम), मोबाइल ऑटोमेशन (एपियम), एपीआई/बैकएंड ऑटोमेशन, परफॉर्मेंस इंजीनियरिंग (जेएमटर, टिड्डी), सुरक्षा ऑटोमेशन (मोबएसएफ, ओडब्ल्यूएएसपी, काली लिनक्स) जैसी विभिन्न तकनीकों के साथ काम किया है। , एस्ट्रा, जैप आदि), आरपीए, प्रोसेस इंजीनियरिंग ऑटोमेशन, मेनफ्रेम ऑटोमेशन, स्प्रिंगबूट के साथ बैक एंड डेवलपमेंट, काफ्का, रेडिस, रैबिटएमक्यू, ईएलके स्टैक, ग्रेलॉग, जेनकिंस और क्लाउड टेक्नोलॉजीज, देवओप्स आदि में भी अनुभव है।
मैं अपनी पत्नी के साथ बैंगलोर, भारत में रहता हूं और ब्लॉगिंग, संगीत, गिटार बजाने का शौक रखता हूं और मेरे जीवन का दर्शन सभी के लिए शिक्षा है जिसने लैम्ब्डागीक्स को जन्म दिया। आइए लिंक्ड-इन पर कनेक्ट करें - https://www.linkedin.com/in/debarghya-roy/

एक टिप्पणी छोड़ दो

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड चिन्हित हैं *

en English
X