सेलेनियम वेबड्राइवर क्या है?
सेलेनियम वेबड्राइवर एपीआई का एक ओपन-सोर्स संग्रह है जिसका उपयोग वेब अनुप्रयोगों के परीक्षण के लिए किया जाता है। सेलेनियम वेबड्राइवर टूल का उपयोग वेब एप्लिकेशन परीक्षण को स्वचालित करने के लिए किया जाता है ताकि यह सुनिश्चित हो सके कि यह अपेक्षित है या नहीं। यह मुख्य रूप से फ़ायरफ़ॉक्स, क्रोम, सफारी और इंटरनेट एक्सप्लोरर जैसे ब्राउज़रों का समर्थन करता है। यह आपको क्रॉस-ब्राउज़र परीक्षण निष्पादित करने की भी अनुमति देता है।
WebDriver आपको अपनी परीक्षण स्क्रिप्ट (सेलेनियम आईडीई में संभव नहीं) बनाने में एक प्रोग्रामिंग भाषा का उपयोग करने में सक्षम बनाता है ।
अब आप सशर्त परिचालनों का उपयोग कर सकते हैं , जैसे कि तत्कालीन या फिर स्विच-केस। आप डू-टाइम की तरह लूपिंग भी कर सकते हैं।
निम्नलिखित प्रोग्रामिंग भाषाएं WebDriver द्वारा समर्थित हैं
- जावा
- नेट
- पीएचपी
- अजगर
- पर्ल
- माणिक
आपको उन सभी को जानने की आवश्यकता नहीं है। आपको बस एक में जानकार होना चाहिए। हालाँकि, इस ट्यूटोरियल में, हम ग्रहण के साथ जावा को अपनी IDE के रूप में उपयोग करेंगे।
सेलेनियम आरसी और वेबड्राइवर के बीच अंतर
2006 में वेबड्राइवर के आगमन से पहले, सेलेनियम रिमोट कंट्रोल नामक एक और स्वचालन उपकरण था । WebDriver और Selenium RC दोनों में निम्नलिखित विशेषताएं हैं:
- वे दोनों आपको अपने परीक्षण स्क्रिप्ट को डिजाइन करने में एक प्रोग्रामिंग भाषा का उपयोग करने की अनुमति देते हैं ।
- वे दोनों आपको विभिन्न ब्राउज़रों के खिलाफ अपने परीक्षण चलाने की अनुमति देते हैं ।
तो वे कैसे भिन्न होते हैं? आइए हम जवाबों पर चर्चा करें।
1. वास्तुकला
वेबड्राइवर की वास्तुकला सेलेनियम आरसी की तुलना में सरल है ।
- यह ओएस स्तर से ब्राउज़र को नियंत्रित करता है
- आपको बस अपनी प्रोग्रामिंग लैंग्वेज की IDE (जिसमें आपके सेलेनियम कमांड होते हैं) और एक ब्राउजर चाहिए।
सेलेनियम आरसी की वास्तुकला अधिक जटिल है।
- परीक्षण शुरू करने से पहले आपको पहले सेलेनियम रिमोट कंट्रोल (आरसी) सर्वर नामक एक अलग एप्लिकेशन लॉन्च करना होगा
- सेलेनियम आरसी सर्वर आपके सेलेनियम कमांड और आपके ब्राउज़र के बीच "बिचौलिया" के रूप में कार्य करता है
- जब आप परीक्षण शुरू करते हैं, तो सेलेनियम आरसी सर्वर ब्राउज़र में सेलेनियम कोर नामक एक जावास्क्रिप्ट प्रोग्राम "इंजेक्ट" करता है।
- एक बार इंजेक्शन लगाने के बाद, सेलेनियम कोर आपके परीक्षण कार्यक्रम से आरसी सर्वर द्वारा रिले किए गए निर्देश प्राप्त करना शुरू कर देगा।
- निर्देश प्राप्त होने पर, सेलेनियम कोर उन्हें जावास्क्रिप्ट कमांड के रूप में निष्पादित करेगा।
- ब्राउज़र सेलेनियम कोर के निर्देशों का पालन करेगा और आरसी सर्वर को अपनी प्रतिक्रिया देगा।
- RC सर्वर ब्राउज़र की प्रतिक्रिया प्राप्त करेगा और फिर आपको परिणाम प्रदर्शित करेगा।
- आरसी सर्वर पूरे चक्र को दोहराने के लिए आपके परीक्षण स्क्रिप्ट से अगला निर्देश लाएगा।
2. गति
वेबड्राइवर सेलेनियम आरसी की तुलना में तेज़ है क्योंकि यह ब्राउज़र से सीधे बोलता है इसे नियंत्रित करने के लिए ब्राउज़र के स्वयं के इंजन का उपयोग करता है।
सेलेनियम आरसी धीमा है क्योंकि यह सेलेनियम कोर नामक एक जावास्क्रिप्ट प्रोग्राम का उपयोग करता है। यह सेलेनियम कोर वह है जो सीधे ब्राउज़र को नियंत्रित करता है, आपको नहीं।
3. वास्तविक जीवन की बातचीत
वेबड्राइवर पृष्ठ तत्वों के साथ अधिक यथार्थवादी तरीके से बातचीत करता है। उदाहरण के लिए, यदि आपके पास परीक्षण कर रहे पृष्ठ पर एक विकलांग टेक्स्ट बॉक्स है, तो वेबड्राइवर वास्तव में इसमें कोई मूल्य दर्ज नहीं कर सकता है जैसे कि एक वास्तविक व्यक्ति कैसे नहीं कर सकता।
सेलेनियम कोर, अन्य जावास्क्रिप्ट कोड की तरह, अक्षम तत्वों तक पहुंच सकता है। अतीत में, सेलेनियम परीक्षकों की शिकायत है कि सेलेनियम कोर अपने परीक्षणों में एक विकलांग पाठ बॉक्स के मूल्यों को दर्ज करने में सक्षम था। एपीआई में अंतर
4. एपीआई

सेलेनियम आरसी की एपीआई अधिक परिपक्व है, लेकिन इसमें अतिरेक और अक्सर भ्रमित करने वाले आदेश शामिल हैं । उदाहरण के लिए, अधिकांश समय, परीक्षक भ्रमित होते हैं कि टाइप या टाइपकेय का उपयोग करें या नहीं; या क्लिक, माउसडाउन या माउसडाउन का उपयोग करना है या नहीं। इससे भी बदतर, अलग-अलग ब्राउज़र इन कमांडों में से प्रत्येक की अलग-अलग तरीकों से व्याख्या करते हैं!
वेबड्राइवर की एपीआई सेलेनियम आरसी की तुलना में सरल है । इसमें निरर्थक और भ्रमित करने वाले आदेश शामिल नहीं हैं।
5. ब्राउज़र समर्थन
WebDriver हेडलेस HtmlUnit ब्राउज़र का समर्थन कर सकता है
HtmlUnit को "हेडलेस" कहा जाता है क्योंकि यह एक अदृश्य ब्राउज़र है - यह GUI- कम है।
यह एक बहुत तेज़ ब्राउज़र है क्योंकि पेज एलिमेंट्स के लोड होने की प्रतीक्षा में कोई समय व्यतीत नहीं होता है। यह आपके परीक्षण निष्पादन चक्र को तेज करता है।
चूंकि यह उपयोगकर्ता के लिए अदृश्य है, इसे केवल स्वचालित साधनों के माध्यम से नियंत्रित किया जा सकता है।
सेलेनियम आरसी हेडलेस HtmlUnit ब्राउज़र का समर्थन नहीं कर सकता है। इसे संचालित करने के लिए एक वास्तविक, दृश्यमान ब्राउज़र की आवश्यकता होती है।
WebDriver की सीमाएँ
वेबड्राइवर नए ब्राउज़रों को आसानी से समर्थन नहीं कर सकता है
याद रखें कि WebDriver OS स्तर पर संचालित होता है। इसके अलावा, याद रखें कि विभिन्न ब्राउज़र विभिन्न तरीकों से ओएस के साथ संवाद करते हैं। यदि कोई नया ब्राउज़र सामने आता है, तो उसमें अन्य ब्राउज़रों की तुलना में OS के साथ संचार करने की एक अलग प्रक्रिया हो सकती है। इसलिए, आपको वेबड्राइवर टीम को यह जानने के लिए कुछ समय देना होगा कि अगली वेबड्राइवर रिलीज़ पर इसे लागू करने से पहले उस नई प्रक्रिया का पता लगाया जाए।
हालाँकि, यह वेबड्राइवर की डेवलपर्स टीम पर निर्भर है कि वह नए ब्राउज़र का समर्थन करे या नहीं।
सेलेनियम आरसी में निर्मित परीक्षण परिणाम जनरेटर है
सेलेनियम आरसी स्वचालित रूप से परीक्षण के परिणामों की एक HTML फ़ाइल उत्पन्न करता है । रिपोर्ट का प्रारूप आरसी द्वारा ही पूर्व निर्धारित किया गया था। इस रिपोर्ट का एक उदाहरण नीचे देखें।
WebDriver में कोई अंतर्निहित कमांड नहीं है जो स्वचालित रूप से एक परीक्षण परिणाम फ़ाइल उत्पन्न करता है । आपको अपनी IDE की आउटपुट विंडो पर निर्भर रहना होगा, या अपनी प्रोग्रामिंग भाषा की क्षमताओं का उपयोग करके रिपोर्ट को स्वयं डिज़ाइन करना होगा और इसे टेक्स्ट, HTML आदि के रूप में संग्रहित करना होगा।
सारांश
- WebDriver विभिन्न प्रोग्रामिंग भाषाओं का उपयोग करके विभिन्न ब्राउज़रों में वेब अनुप्रयोगों के परीक्षण के लिए एक उपकरण है ।
- अब आप शक्तिशाली परीक्षण करने में सक्षम हैं क्योंकि वेबड्राइवर आपको अपने परीक्षणों को डिजाइन करने में अपनी पसंद की प्रोग्रामिंग भाषा का उपयोग करने की अनुमति देता है ।
- वेबड्राइवर अपनी सरल वास्तुकला के कारण सेलेनियम आरसी से तेज है ।
- WebDriver सीधे ब्राउज़र से बात करता है जबकि ऐसा करने के लिए सेलेनियम आरसी को आरसी सर्वर की मदद की आवश्यकता होती है।
- सेलेनियम आरसी की तुलना में वेबड्राइवर का एपीआई अधिक संक्षिप्त है।
- WebDriver, HtmlUnit का समर्थन कर सकता है जबकि सेलेनियम RC नहीं कर सकता।
- WebDriver की एकमात्र कमियां हैं:
- यह आसानी से नए ब्राउज़रों का समर्थन नहीं कर सकता , लेकिन सेलेनियम आरसी कर सकता है।
- यह परीक्षण के परिणाम के स्वचालित पीढ़ी के लिए एक अंतर्निहित कमांड नहीं है ।