सेलेनियम क्या है? वेबड्राइवर, ग्रिड, आईडीई, और उपयोग मामले

सेलेनियम क्या है? वेबड्राइवर, ग्रिड, आईडीई, और उपयोग मामले

स्क्रेपलेस स्क्रैपिंग ब्राउज़र वेब स्वचालन और डेटा कार्यप्रवाहों के लिए प्रबंधित ब्राउज़र आधारभूत संरचना प्रदान करता है जिसे स्थानीय ब्राउज़र होस्ट के परे क्लाउड निष्पादन की आवश्यकता है।

संक्षेप में

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

सेलेनियम एक प्रोजेक्ट परिवार है, एक निष्पादन योग्य नहीं

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

आधिकारिक सेलेनियम परियोजना अवलोकन सेलेनियम को एक छाता परियोजना के रूप में वर्णित करता है और वेबड्राइवर, आईडीई, और ग्रिड की भूमिकाओं की व्याख्या करता है। यह विभाजन सेलेनियम का मूल्यांकन करते समय महत्वपूर्ण है। एक टीम ग्रिड के बिना स्थानीय रूप से वेबड्राइवर का उपयोग कर सकती है, वेबड्राइवर सत्रों को क्लाउड प्रदाता को भेज सकती है, या कई परीक्षण ढांचों के साथ ग्रिड का उपयोग कर सकती है। "सेलेनियम का उपयोग करना" इसलिए तब तक पूरा आर्किटेक्चर के बारे में कुछ नहीं कहता जब तक कि भाषा बाइंडिंग, ब्राउज़र ड्राइवर, चलाने वाला, सत्र मेज़बान, और रिपोर्टिंग पथ का नाम नहीं लिया गया।

वेबड्राइवर परीक्षण कोड को ब्राउज़र कार्यान्वयन से जोड़ता है।

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

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

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

ग्रिड वातावरणों के बीच ब्राउज़र सत्र वितरित करता है

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

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

सेलेनियम घटक विभिन्न चरणों को संबोधित करते हैं।

एक सेलेनियम आर्किटेक्चर स्पष्ट होता है जब प्रत्येक घटक का एक कार्य होता है और चारों ओर के परीक्षण स्टैक को स्पष्ट रूप से नामित किया जाता है।

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

जहां सेलेनियम व्यावहारिक विकल्प बना रहता है

सेलेनियम तब सबसे मजबूत होता है जब संगतता, भाषा एकीकरण, या मौजूदा वेबड्राइवर पारिस्थितिकी तंत्र एक समग्र परीक्षण रनर की तुलना में अधिक महत्वपूर्ण होता है।

व्यापक उद्यम सूट

दीर्घकालिक जावा, पाइथन, सी#, रूबी, या जावास्क्रिप्ट परीक्षण प्रणालियां स्थापित रनरों, रिपोर्टिंग, निर्भरता इंजेक्शन, और आंतरिक पुस्तकालयों के साथ वेबड्राइवर को एकीकृत कर सकती हैं।

क्रॉस-ब्राउज़र मान्यता

मानक-आधारित सत्र मॉडल प्रमुख ब्राउज़र कार्यान्वयन और ब्राउज़र और ऑपरेटिंग सिस्टम комбинаशनों के दूरस्थ वातावरण का समर्थन करता है।

वितरित निष्पादन

ग्रिड या एक होस्टेड वेबड्राइवर सेवा कई स्वतंत्र सत्रों को आवंटित कर सकती है बिना परीक्षण प्रक्रिया को प्रत्येक ब्राउज़र को स्थानीय रूप से होस्ट करने के लिए मजबूर किए।

मानक-उन्मुख उपकरण

स्वचालन उत्पाद वेबड्राइवर प्रोटोकॉल के चारों ओर बन सकते हैं, बजाय प्रत्येक कार्यप्रवाह को सीधे एक ब्राउज़र विक्रेता के डिबगिंग इंटरफेस से जोड़ने के।

सेलेनियम को प्रतीक्षा और उपकरणों के चारों ओर स्पष्ट विकल्पों की आवश्यकता होती है

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

ऑफिशियल सेलेनियम वेबड्राइवर गेटिंग-स्टार्टेड गाइड ब्राउज़र-विशिष्ट ड्राइवर और सेलेनियम सेटअप में शामिल भाषा-न्यूट्रल इंटरफेस को समझाता है। वर्तमान सेलेनियम उपकरण ड्राइवर सेटअप के अधिकांश प्रबंधन कर सकता है, लेकिन दूरस्थ अंत बिंदु, ब्राउज़र नीतियाँ, कंटेनर छवियाँ, और उद्यम नेटवर्क अभी भी वातावरण को बदल सकते हैं। सत्र द्वारा लौटाए गए वास्तविक क्षमताओं को रिकॉर्ड करें और मांग के बजाय ऐप्लिकेशन परिणाम का दावा करें।

एक सेलेनियम आर्किटेक्चर समीक्षा

सेलेनियम को इंटरऑपरेबल भागों के सेट के रूप में मानें। ब्राउज़र कवरेज बढ़ाने या दूरस्थ क्षमता जोड़ने से पहले प्रत्येक सीमा की समीक्षा करें।

  1. पूर्ण स्टैक का नामकरण करें। भाषा बाइंडिंग, परीक्षण रनर, दावे लाइब्रेरी, ड्राइवर प्रबंधन, ब्राउज़र संस्करण, ग्रिड या दूरस्थ अंत बिंदु, और कलाकृति प्रणाली को रिकॉर्ड करें। यह अस्पष्ट ढांचे के चुनाव को एक संचालन योग्य डिजाइन में बदलता है।
  2. क्षमता स्वामित्व को परिभाषित करें। ब्राउज़र, प्लेटफॉर्म, प्रॉक्सी, डाउनलोड, प्रमाणपत्र, और विक्रेता-अनुप्रयोग क्षमताओं को संस्करणीकृत कॉन्फ़िगरेशन में रखें। वातावरण भटकने का निदान करते समय अनुरोधित और लौटाए गए क्षमताओं की तुलना करें।
  3. स्थितियों के आधार पर प्रतीक्षाएँ उपयोग करें। आवश्यक विशेष दृश्य, सक्षम, यूआरएल, फ़्रेम, या ऐप्लिकेशन स्थिति की प्रतीक्षा करें। निश्चित घड़ी की देरी को प्राथमिक समन्वय विधि न बनाएं।
  4. पृष्ठ व्यवहार को समाहित करें। पृष्ठ वस्तुएं या डोमेन सेवाएँ अर्थपूर्ण संचालन और परिणामों को उजागर करना चाहिए, जबकि कच्चे लोकेटर और वेबड्राइवर आदेशों को उस पृष्ठ के करीब रखना चाहिए जिसे वे वर्णित करते हैं।
  5. परीक्षण डेटा और सत्रों को अलग करें। समांतर परीक्षणों को खाते, परिवर्तनशील रिकॉर्ड, डाउनलोड, या ब्राउज़र प्रोफाइल साझा नहीं करने चाहिए जब तक समन्वय परीक्षण का स्पष्ट विषय न हो।
  6. दूरस्थ आवंटन का अवलोकन करें। सत्र पहचानकर्ता, नोड वातावरण, ब्राउज़र संस्करण, लॉग, स्क्रीनशॉट, और अन्य प्रासंगिक कलाकृतियों को कैप्चर करें ताकि एक दूरस्थ विफलता को फिर से उत्पन्न किया जा सके।
  7. मापी गई मांग से स्केल करें। ब्राउज़र स्टार्टअप, परीक्षण अवधि, लक्षित क्षमता, और साझा सेवा सीमाओं को मापने के बाद नोड्स और समानांतर श्रमिकों को जोड़ें। अधिक सत्रों से परीक्षण के अधीन एप्लिकेशन को अधिभार हो सकता है।
  8. प्रोटोकॉल विकास की योजना बनाएं। आपके सूट द्वारा उपयोग किए जाने वाले ब्राउज़रों और बाइंडिंग में वेबड्राइवर क्लासिक और वेबड्राइवर बिडी समर्थन को ट्रैक करें। जब आवश्यक मॉड्यूल को अंत से अंत तक लागू किया जाता है तब नए इवेंट-संचालित सुविधाओं को अपनाएं।

जहां स्क्रैपलेस सेलेनियम वर्कफ़्लो के चारों ओर फिट होता है

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

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

निष्कर्ष: सेलेनियम एक इंटरऑपरेबल स्वचालन पारिस्थितिकी तंत्र है

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

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

क्या आप अपने ब्राउज़र बुनियादी ढांचे की समीक्षा करने के लिए तैयार हैं?

एक स्क्रैपलेस खाता बनाएं और प्रबंधित ब्राउज़र निष्पादन की तुलना अपने वर्तमान स्वचालन वर्कफ़्लो द्वारा उपयोग किए गए स्थानीय या ग्रिड-होस्टेड वातावरण से करें।

फ्री शुरू करें →

अक्सर पूछे जाने वाले प्रश्न

क्या सेलेनियम वेबड्राइवर के समान है?

नहीं। सेलेनियम एक छाता परियोजना है, जबकि वेबड्राइवर इसका मुख्य कोड-आधारित ब्राउज़र-नियंत्रण घटक और एक संबंधित W3C प्रोटोकॉल परिवार है। सेलेनियम में वितरित निष्पादन के लिए ग्रिड और रिकॉर्ड-एंड-प्ले बैक वर्कफ़्लो के लिए आईडीई भी शामिल है, साथ ही भाषा बाइंडिंग और परियोजना बुनियादी ढाँचा।

क्या सेलेनियम में परीक्षण रनर शामिल है?

सेलेनियम ब्राउज़र स्वचालन एपीआई प्रदान करता है, लेकिन आम तौर पर चुने हुए भाषा पारिस्थितिकी से एक रनर पर निर्भर करता है, जैसे कि एक जावा, पायथन, जावास्क्रिप्ट या C# परीक्षण ढाँचा। रनर वेबड्राइवर सत्रों के चारों ओर खोज, आत्मनिर्भरता, फ़िक्स्चर, रिपोर्टिंग और सूट लाइफसाइकिल प्रदान करता है।

सेलेनियम ग्रिड का उपयोग किसके लिए किया जाता है?

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

क्या सेलेनियम प्रमुख ब्राउज़रों का समर्थन करता है?

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

क्या सेलेनियम केवल स्वचालित परीक्षण के लिए है?

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

संदर्भ