एचएमबी क्या है? Selenium वेबड्राइवर?
⚡ स्मार्ट सारांश
Selenium वेबड्राइवर एक ओपन-सोर्स ऑटोमेशन फ्रेमवर्क है जो नेटिव एपीआई के माध्यम से वास्तविक ब्राउज़रों को सीधे नियंत्रित करता है, जिससे वेब एप्लिकेशन का तेज़, विश्वसनीय और क्रॉस-ब्राउज़र परीक्षण संभव हो पाता है। Java, Python, सी#, और रूबी।

एचएमबी क्या है? Selenium वेबड्राइवर?
Selenium वेबड्राइवर यह वेब अनुप्रयोगों के परीक्षण को स्वचालित करने के लिए उपयोग किए जाने वाले ओपन-सोर्स एपीआई का एक संग्रह है। यह सत्यापित करता है कि एक वेब एप्लिकेशन क्रोम सहित कई ब्राउज़रों में अपेक्षा के अनुरूप प्रदर्शन करता है। Firefox, सफारी, Microsoft Edgeऔर इंटरनेट एक्सप्लोरर। वेबड्राइवर विभिन्न ऑपरेटिंग सिस्टमों पर क्रॉस-ब्राउज़र परीक्षण का भी समर्थन करता है।
विपरीत Selenium IDE, WebDriver आपको टेस्ट स्क्रिप्ट डिज़ाइन करने के लिए एक वास्तविक प्रोग्रामिंग भाषा का उपयोग करने की अनुमति देता है, जिससे आप if-then-else और switch-case जैसी सशर्त तर्क विधियों को लागू कर सकते हैं।ping for और do-while जैसे कंस्ट्रक्ट्स। WebDriver निम्नलिखित भाषाओं को सपोर्ट करता है:
- Java
- .NET (सी#)
- PHP
- Python
- पर्ल
- माणिक
- Javaस्क्रिप्ट (WebDriverJS / WebDriverIO के माध्यम से)
आपको इन सभी को सीखने की आवश्यकता नहीं है—केवल एक में निपुणता ही पर्याप्त है। इस ट्यूटोरियल में दिए गए उदाहरणों में इनका उपयोग किया गया है। Java साथ Eclipse आईडीई।
Archiकी टेकचर Selenium वेबड्राइवर
Selenium वेबड्राइवर क्लाइंट-सर्वर आर्किटेक्चर का पालन करता है और ऑपरेटिंग सिस्टम स्तर से सीधे ब्राउज़र को नियंत्रित करता है। किसी भी स्क्रिप्ट को चलाने के लिए, आपको केवल अपनी पसंदीदा प्रोग्रामिंग भाषा का IDE (जिसमें शामिल है) चाहिए। Selenium कमांड) और एक लक्ष्य ब्राउज़र।
इस ढांचे में चार प्रमुख घटक शामिल हैं: Selenium क्लाइंट लाइब्रेरी (भाषा बाइंडिंग), HTTP पर JSON वायर प्रोटोकॉल, ब्राउज़र ड्राइवर (जैसे ChromeDriver और GeckoDriver), और वास्तविक ब्राउज़र। प्रत्येक घटक मानकीकृत HTTP अनुरोधों के माध्यम से संचार करता है, यही कारण है कि WebDriver को नीचे वर्णित गति और सटीकता के लाभ प्राप्त होते हैं।
गति
वेबड्राइवर इससे अधिक तेज है Selenium RC इसलिए क्योंकि यह सीधे ब्राउज़र से बात करता है और इसे नियंत्रित करने के लिए ब्राउज़र के नेटिव इंजन का उपयोग करता है। इसमें कोई मध्यवर्ती नहीं है। Javaस्क्रिप्ट प्रॉक्सी सर्वर, जो प्रदर्शन में आने वाली एक बड़ी बाधा को दूर करता है।
वास्तविक जीवन में बातचीत
वेबड्राइवर पेज के तत्वों के साथ उसी तरह इंटरैक्ट करता है जैसे कोई वास्तविक उपयोगकर्ता करता है। उदाहरण के लिए, यदि परीक्षण किए जा रहे पेज पर कोई टेक्स्ट बॉक्स निष्क्रिय है, तो वेबड्राइवर उसमें टाइप नहीं कर सकता—क्योंकि कोई वास्तविक व्यक्ति भी ऐसा नहीं कर सकता। यह यथार्थता परीक्षण परिणामों में गलत सकारात्मक परिणामों को कम करती है।
API
वेबड्राइवर एक साफ-सुथरा, सरल एपीआई प्रदान करता है जिसमें अनावश्यक या भ्रामक कमांड नहीं होते हैं, जिससे परीक्षण स्क्रिप्ट को पढ़ना और बनाए रखना आसान हो जाता है।
ब्राउज़र का समर्थन
वेबड्राइवर हेडलेस एचटीएमएमएलयूनिट ब्राउज़र को भी सपोर्ट करता है। एचटीएमएमएलयूनिट में कोई ग्राफिकल इंटरफ़ेस नहीं होता, इसलिए इसे "हेडलेस" कहा जाता है और यह बैकग्राउंड में अदृश्य रूप से चलता है। इससे टेस्ट एक्जीक्यूशन बेहद तेज़ हो जाता है क्योंकि इसमें रेंडरिंग का समय नहीं लगता, और यह उन सीआई/सीडी पाइपलाइनों के लिए आदर्श है जहां जीयूआई उपलब्ध नहीं होता।
कैसे Selenium वेबड्राइवर चरण दर चरण कार्य करता है
आर्किटेक्चर को ध्यान में रखते हुए, एक सामान्य वेबड्राइवर टेस्ट इस प्रकार निष्पादित होता है:
- टेस्ट स्क्रिप्ट लिखें अपनी चुनी हुई भाषा में उपयोग करके Selenium क्लाइंट लाइब्रेरी।
- आदेशों को क्रमबद्ध करें— बंधन प्रत्येक को परिवर्तित करता है Selenium JSON वायर प्रोटोकॉल अनुरोध को कॉल करें।
- ब्राउज़र ड्राइवर को भेजेंअनुरोध स्थानीय ड्राइवर (क्रोमड्राइवर, गेकोड्राइवर, एजड्राइवर) तक पहुंचता है, जो एक स्थानीय पोर्ट पर सुनता है।
- ड्राइवर ब्राउज़र को निर्देश देता है इसके नेटिव ऑटोमेशन एपीआई का उपयोग करके क्लिक करना, टाइप करना या तत्वों को पढ़ना।
- ब्राउज़र निष्पादन करता है और प्रतिक्रिया देता हैपरिणाम को JSON पेलोड के रूप में लौटाता है।
- दावा करें और रिपोर्ट करें—एक ढांचा जैसे कि TestNG, JUnitया फिर PyTest प्रतिक्रिया को मान्य करता है और पास या फेल होने का लॉग दर्ज करता है।
यही स्क्रिप्ट स्थानीय रूप से, डॉकर के अंदर, या रिमोट ग्रिड पर भी चल सकती है। Selenium बिना किसी संशोधन के ग्रिड।
Selenium वेबड्राइवर बनाम Selenium आई.डी.ई. बनाम Selenium RC
सही Selenium यह उपकरण परीक्षण के लक्ष्य पर निर्भर करता है। नीचे दी गई तालिका तीनों की तुलना करती है:
| Feature | Selenium आईडीई | Selenium RC | Selenium वेबड्राइवर |
|---|---|---|---|
| प्रकार | ब्राउज़र प्लगइन | Javaस्क्रिप्ट प्रॉक्सी सर्वर | नेटिव एपीआई स्वचालन |
| गति | तेज़ प्लेबैक | धीरे | सबसे तेजी |
| भाषाऐं | कोई नहीं | विभिन्न | विभिन्न |
| हेडलेस ब्राउज़र | नहीं | नहीं | हाँ |
| स्थिति | सीमित | पदावनत | W3C मानक |
आधुनिक परियोजनाओं के लिए, वेबड्राइवर अनुशंसित विकल्प है—यह W3C द्वारा मानकीकृत है, सक्रिय रूप से अनुरक्षित है, और भाषा और ब्राउज़र समर्थन के मामले में सबसे व्यापक है।
वेबड्राइवर की सीमाएँ
वेबड्राइवर शक्तिशाली तो है, लेकिन इसकी कुछ कमियां भी हैं। इसकी सीमाओं को जानना आपको अपनी स्वचालन रणनीति को व्यावहारिक रूप से तैयार करने में मदद करता है।
वेबड्राइवर नए ब्राउज़रों को आसानी से सपोर्ट नहीं कर सकता।
वेबड्राइवर ऑपरेटिंग सिस्टम (ओएस) स्तर पर काम करता है, और अलग-अलग ब्राउज़र ओएस से अलग-अलग तरीकों से संवाद करते हैं, इसलिए हर नए ब्राउज़र रिलीज़ के लिए एक अपडेटेड ड्राइवर की आवश्यकता हो सकती है। वेबड्राइवर टीम को संगत ड्राइवर जारी करने से पहले नए ब्राउज़र की प्रक्रिया का अध्ययन करने के लिए समय चाहिए। तब तक, कुछ कमांड नए ब्राउज़र पर असंगत रूप से व्यवहार कर सकते हैं या पूरी तरह से विफल हो सकते हैं।
कोई अंतर्निर्मित परीक्षण रिपोर्टिंग नहीं
वेबड्राइवर स्वयं परीक्षण परिणाम रिपोर्ट उत्पन्न नहीं करता है। आपको इसे यूनिट-टेस्टिंग फ्रेमवर्क के साथ एकीकृत करना होगा।TestNG, JUnitपास/फेल सारांश और स्क्रीनशॉट कैप्चर करने के लिए किसी लाइब्रेरी (जैसे कि NUnit, PyTest) या रिपोर्टिंग लाइब्रेरी (Allure, ExtentReports) का उपयोग किया जा सकता है।

.jpg)




