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

एचएमबी क्या है? Selenium?
Selenium एक मुफ़्त (ओपन-सोर्स) स्वचालित परीक्षण ढांचा है जिसका उपयोग विभिन्न ब्राउज़रों और प्लेटफ़ॉर्म पर वेब एप्लिकेशन को मान्य करने के लिए किया जाता है। आप कई प्रोग्रामिंग भाषाओं का उपयोग कर सकते हैं जैसे Java, सी#, Python, आदि बनाने के लिए Selenium टेस्ट स्क्रिप्ट। का उपयोग करके किया गया परीक्षण Selenium परीक्षण उपकरण को आमतौर पर कहा जाता है Selenium परीक्षण.
विशेषज्ञ अंतर्दृष्टि
"अपने परीक्षणों में निश्चित स्लीप विलंब का उपयोग करने से बचें। इसके बजाय, तत्वों के लोड होने की प्रतीक्षा करने के लिए स्पष्ट प्रतीक्षा (जैसे WebDriverWait) का उपयोग करें। यह आपकी स्क्रिप्ट को अधिक विश्वसनीय और तेज़ बनाता है, क्योंकि वे वास्तविक पृष्ठ स्थितियों के अनुसार गतिशील रूप से प्रतिक्रिया करते हैं - हर जगह छात्रों के लिए एक महत्वपूर्ण सर्वोत्तम अभ्यास, Selenium".
👉 निःशुल्क लाइव के लिए नामांकन करें Selenium परीक्षण परियोजना
Selenium टूल सूट
Selenium सॉफ्टवेयर केवल एक उपकरण नहीं है, बल्कि सॉफ्टवेयरों का एक समूह है, जिसका प्रत्येक भाग अलग-अलग उद्देश्यों की पूर्ति करता है। Selenium किसी संगठन की QA परीक्षण संबंधी ज़रूरतें। यहाँ उपकरणों की सूची दी गई है
- Selenium एकीकृत विकास पर्यावरण (आईडीई)
- Selenium रिमोट कंट्रोल (आर.सी.)
- वेबड्राइवर
- Selenium ग्रिड
इस छण में, Selenium RC और WebDriver को एक एकल फ्रेमवर्क में विलय कर दिया गया है Selenium 2. Selenium 1, वैसे, संदर्भित करता है Selenium आर सी।
ट्यूटोरियल वीडियो Selenium
क्लिक करें यहाँ उत्पन्न करें यदि वीडियो उपलब्ध न हो
किसने विकास किया Selenium?
जबसे Selenium यह अलग-अलग उपकरणों का संग्रह है, इसके डेवलपर्स भी अलग-अलग थे। नीचे उन प्रमुख व्यक्तियों के नाम दिए गए हैं जिन्होंने इस क्षेत्र में उल्लेखनीय योगदान दिया है Selenium परियोजना
जाहिर है, Selenium था 2004 में जेसन हग्गिन्स द्वारा निर्मितथॉटवर्क्स में एक इंजीनियर के रूप में, वह एक ऐसे वेब एप्लिकेशन पर काम कर रहे थे जिसके लिए बार-बार परीक्षण की आवश्यकता होती थी। जब उन्हें एहसास हुआ कि उनके एप्लिकेशन की बार-बार की जाने वाली मैन्युअल टेस्टिंग लगातार अक्षम होती जा रही है, तो उन्होंने एक Javaलिपि एक ऐसा प्रोग्राम जो ब्राउज़र की गतिविधियों को स्वचालित रूप से नियंत्रित करेगा। उन्होंने इस प्रोग्राम का नाम रखा "Javaस्क्रिप्टटेस्टरनर।”
अन्य वेब अनुप्रयोगों को स्वचालित करने में मदद करने के लिए इस विचार की क्षमता को देखते हुए, उन्होंने Javaस्क्रिप्टरनर ओपन-सोर्स, जिसका बाद में नाम बदल दिया गया Selenium मूलवेब एप्लिकेशन परीक्षण के लिए अन्य विकल्पों की खोज में रुचि रखने वालों के लिए, इन पर एक नज़र डालें Selenium विकल्प.
समान मूल नीति मुद्दा
समान मूल नीति प्रतिबन्ध लगाती है Javaस्क्रिप्ट कोड को उस डोमेन से तत्वों तक पहुंचने से रोकना जो उस डोमेन से भिन्न है जहां इसे लॉन्च किया गया था। उदाहरण के लिए, www.google.com में HTML कोड एक का उपयोग करता है Javaस्क्रिप्ट प्रोग्राम "randomScript.js"। समान मूल नीति randomScript.js को केवल google.com के भीतर के पृष्ठों, जैसे google.com/mail, google.com/login, या google.com/signup, तक ही पहुँचने की अनुमति देगी। हालाँकि, यह yahoo.com/search या guru99.com जैसी विभिन्न साइटों के पृष्ठों तक नहीं पहुँच सकता क्योंकि वे अलग-अलग डोमेन से संबंधित हैं।
यही कारण है कि इससे पहले Selenium आर.सी., दोनों की स्थानीय प्रतियां स्थापित करने के लिए परीक्षकों की आवश्यकता है Selenium कोर (ए Javaस्क्रिप्ट प्रोग्राम) और वेब सर्वर जिसमें परीक्षण किया जा रहा वेब अनुप्रयोग है, इसलिए वे एक ही डोमेन से संबंधित होंगे
जन्म Selenium रिमोट कंट्रोल (Selenium आरसी)
दुर्भाग्य से, परीक्षक इसका उपयोग कर रहे हैं Selenium कोर को परीक्षण के तहत संपूर्ण एप्लिकेशन और वेब सर्वर को अपने स्थानीय कंप्यूटरों पर स्थापित करना पड़ा क्योंकि उन पर प्रतिबंध लगा दिए गए थे। समान-मूल नीति. तो एक अन्य थॉटवर्क्स इंजीनियर, पॉल हैमंटने एक ऐसा सर्वर बनाने का निर्णय लिया जो ब्राउज़र को यह विश्वास दिलाने के लिए HTTP प्रॉक्सी के रूप में कार्य करेगा कि Selenium कोर और परीक्षण किया जा रहा वेब एप्लिकेशन एक ही डोमेन से आते हैं। इस सिस्टम को के रूप में जाना जाता है Selenium रिमोट कंट्रोल or Selenium 1.
जन्म Selenium ग्रिड
Selenium ग्रिड का विकास किसके द्वारा किया गया? पैट्रिक लाइटबॉडी परीक्षण निष्पादन समय को यथासंभव कम करने की आवश्यकता को पूरा करने के लिए। उन्होंने शुरू में इस प्रणाली को “होस्टेड क्यूए।” यह महत्वपूर्ण चरणों के दौरान ब्राउज़र स्क्रीनशॉट कैप्चर करने में सक्षम था, और साथ ही बाहर भेजना Selenium एक साथ विभिन्न मशीनों को आदेश भेजना।
जन्म Selenium आईडीई
शिन्या कसाटानी जापान द्वारा निर्मित Selenium आईडीईतक Firefox और क्रोम एक्सटेंशन जो रिकॉर्ड-एंड-प्लेबैक सुविधा के ज़रिए ब्राउज़र को स्वचालित कर सकता है। टेस्ट केस बनाने की गति को और बढ़ाने के लिए उन्हें यह विचार आया। उन्होंने दान दिया Selenium आईडीई को Selenium परियोजना में 2006.
वेबड्राइवर का जन्म
साइमन स्टीवर्ट WebDriver का निर्माण लगभग 2006 जब ब्राउज़र और वेब अनुप्रयोग अधिक शक्तिशाली और अधिक प्रतिबंधात्मक होते जा रहे थे Javaस्क्रिप्ट प्रोग्राम जैसे Selenium कोर। यह पहला क्रॉस-प्लेटफॉर्म परीक्षण ढांचा था जो ओएस स्तर पर ब्राउज़र को नियंत्रित कर सकता था।
जन्म Selenium 2
In 2008, पूरे Selenium टीम ने वेबड्राइवर और को विलय करने का निर्णय लिया Selenium आर.सी. नामक एक अधिक शक्तिशाली उपकरण बनाने के लिए Selenium 2, साथ में वेबड्राइवर इसका मूल है। वर्तमान में, Selenium आर.सी. का विकास अभी भी जारी है, लेकिन केवल रखरखाव के तौर पर। Selenium परियोजना के प्रयास अब इस पर केंद्रित हैं Selenium 2.
तो, नाम क्यों? Selenium?
नाम Selenium यह एक मज़ाक से आया है जो जेसन ने एक बार अपनी टीम के सामने सुनाया था। Seleniumके विकास, एक और स्वचालित परीक्षण फ्रेमवर्क लोकप्रिय रूप से नामक कंपनी द्वारा बनाया गया था Mercury इंटरैक्टिव (हाँ, वही कंपनी जिसने मूल रूप से इसे बनाया था) QTP एचपी द्वारा अधिग्रहण किए जाने से पहले)। Selenium के लिए एक प्रसिद्ध मारक है Mercury ज़हर के बारे में बात करते हुए, जेसन ने उस नाम का सुझाव दिया और उसके साथियों ने उसे ले लिया। इसलिए हम इस ढांचे को वर्तमान तक इसी नाम से पुकारते हैं।
एचएमबी क्या है? Selenium आईडीई?
Selenium एकीकृत विकास पर्यावरण (आईडीई) सरलतम ढांचा में Selenium सुइट और है सीखने में सबसे आसान. यह एक है क्रोम और Firefox लगाना जिसे आप अन्य प्लगइन्स की तरह ही आसानी से इंस्टॉल कर सकते हैं। हालाँकि, इसकी सरलता के कारण, Selenium आईडीई का उपयोग केवल एक के रूप में किया जाना चाहिए प्रोटोटाइपping साधनयदि आप अधिक उन्नत परीक्षण मामले बनाना चाहते हैं, तो आपको या तो उपयोग करना होगा Selenium आरसी या वेबड्राइवर.
एचएमबी क्या है? Selenium रिमोट कंट्रोल (Selenium आर.सी.)?
Selenium आर.सी. था प्रमुख परीक्षण ढांचा पूरे की Selenium यह एक लम्बे समय से चल रही परियोजना है। यह पहली स्वचालित परियोजना है वेब परीक्षण उपकरण है कि उपयोगकर्ताओं को अपनी पसंदीदा प्रोग्रामिंग भाषा का उपयोग करने की अनुमति देता हैसंस्करण 2.25.0 के अनुसार, RC निम्नलिखित प्रोग्रामिंग भाषाओं का समर्थन कर सकता है:
वेबड्राइवर क्या है?
वेबड्राइवर इससे बेहतर साबित होता है Selenium आईडीई और Selenium RC कई पहलुओं में। यह ब्राउज़र की क्रियाओं को स्वचालित करने में एक अधिक आधुनिक और स्थिर दृष्टिकोण को लागू करता है। वेबड्राइवर, ब्राउज़र के विपरीत Selenium आर.सी., पर निर्भर नहीं करता है Javaके लिए स्क्रिप्ट Selenium स्वचालन परीक्षण. यह ब्राउज़र से सीधे संवाद करके उसे नियंत्रित करता है।
समर्थित भाषाएँ वही हैं जो अन्य भाषाओं में हैं Selenium आर सी।
- Java
- C#
- PHP
- Python
- पर्ल
- माणिक
एचएमबी क्या है? Selenium ग्रिड?
Selenium ग्रिड एक उपकरण है के साथ प्रयोग किया जाता है Selenium आर.सी. चलाने के लिए समानांतर परीक्षण एक ही समय में विभिन्न मशीनों और विभिन्न ब्राउज़रों पर। समानांतर निष्पादन का अर्थ है एक साथ कई परीक्षण चलाना।
विशेषताएं:
- सक्षम बनाता है परीक्षणों का एक साथ चलना in एकाधिक ब्राउज़र और वातावरण.
- समय बचाना अत्यधिक।
- का उपयोग करता है हब-और-नोड्स अवधारणा। हब एक केंद्रीय स्रोत के रूप में कार्य करता है Selenium इससे जुड़े प्रत्येक नोड को आदेश देता है।
Selenium ब्राउज़र और पर्यावरण समर्थन
उनकी वास्तुकलागत भिन्नताओं के कारण, Selenium आईडीई, Selenium RC और WebDriver विभिन्न ब्राउज़रों और ऑपरेटिंग वातावरणों का समर्थन करते हैं।
| Selenium आईडीई | वेबड्राइवर | |
|---|---|---|
| ब्राउज़र का समर्थन | मोज़िला Firefox और क्रोम | Google Chrome 12 + Firefox इंटरनेट एक्सप्लोरर 7+ और एज सफारी, HtmlUnit और PhantomUnit |
| Operaटिंग सिस्टम | Windows, मैक ओएस एक्स, लिनक्स | सभी ऑपरेटिंग सिस्टम जहां उपरोक्त ब्राउज़र चल सकते हैं। |
नोट: Opera ड्राइवर अब काम नहीं करता
सही का चुनाव कैसे करें Selenium आपकी ज़रूरतों के लिए उपकरण
| उपकरण | क्यों चुनें? |
|---|---|
| Selenium आईडीई |
|
| Selenium RC |
|
| वेबड्राइवर |
|
| Selenium ग्रिड |
|
रियल-वर्ल्ड केस स्टडीज
🔍 केस स्टडी 1: SaaS डैशबोर्ड के लिए क्रॉस-ब्राउज़र संगतता
परिदृश्य
एक सॉफ्टवेयर-एज-ए-सर्विस कंपनी एक एनालिटिक्स डैशबोर्ड जारी करने की तैयारी कर रही थी, जिसे आधुनिक ब्राउज़रों (क्रोम, Firefox, एज, सफारी)।
चुनौती
प्रत्येक ब्राउज़र पर मैन्युअल परीक्षण समय लेने वाला, त्रुटि-प्रवण था, तथा तीव्र विकास पुनरावृत्तियों के साथ तालमेल नहीं रख सकता था।
समाधान Selenium
एक QA इंजीनियर ने बनाया Selenium ग्रिड एक ही परीक्षण सूट को एक साथ कई ब्राउज़रों और ओएस संयोजनों में निष्पादित करने के लिए सेटअप। परीक्षण में लिखा गया था Python का उपयोग Selenium लॉगिन, चार्ट फ़िल्टरिंग और डेटा निर्यात जैसी क्रियाओं के लिए वेबड्राइवर।
परिणाम
- प्रतिगमन अवधि 80% तक कम हो गई।
- ब्राउज़र-विशिष्ट रेंडरिंग बगों का शीघ्र पता लगाया गया (जैसे, IE में गलत संरेखित ग्राफ़)।
- अतिरिक्त मैनुअल चक्रों के बिना ब्राउज़र मैट्रिक्स में एक सुसंगत डैशबोर्ड UX बनाए रखा।
⚙️ केस स्टडी 2: वेब ऐप के लिए CI/CD एकीकरण Selenium + TestNG
परिदृश्य
एक मध्यम आकार की वेब डेवलपमेंट फर्म CI/CD पाइपलाइन का उपयोग करती है। Jenkinsउन्हें यह सुनिश्चित करना था कि कोड में हर बदलाव के बाद मुख्य उपयोगकर्ता अनुभव सुचारू रूप से काम करें।
चुनौती
नए बिल्ड डिप्लॉयमेंट के कारण कभी-कभी उपयोगकर्ता प्रवाह बाधित हो जाते थे—लॉगिन, फॉर्म सबमिशन—एस्काping दिन के अंत तक मैन्युअल परीक्षण द्वारा पता लगाना।
समाधान Selenium
एक परीक्षक ने कार्यान्वित किया Javaआधारित Selenium वेबड्राइवर सुइट के साथ एकीकृत TestNGइन परीक्षणों में प्रमाणीकरण, प्रोफ़ाइल अपडेट और खोज कार्यक्षमताओं को शामिल किया गया था। ये परीक्षण प्रत्येक सिस्टम पर चलाए गए थे। Jenkins समानांतर निष्पादन और ब्राउज़र पैरामीटराइजेशन का लाभ उठाते हुए निर्माण करें।
परिणाम
- शीघ्र विफलता संबंधी फीडबैक प्राप्त हुआ: टूटे हुए प्रवाहों को तुरंत चिह्नित किया गया।
- तैनाती के बाद की त्रुटियों में 60% से अधिक की कमी आई।
- डेवलपर्स को QA तक पहुंचने से पहले समस्याओं का समाधान करने में सक्षम बनाया गया।
🚀 केस स्टडी 3: ट्रैवल एग्रीगेटर के लिए फीचर रिलीज़ में तेज़ी लाना
परिदृश्य
एक ट्रैवल एग्रीगेटर प्लेटफ़ॉर्म को एक नया फ़्लाइट बुकिंग फ़ीचर जारी करने की ज़रूरत थी। 10 से ज़्यादा पेजों पर मैन्युअल रिग्रेशन टेस्ट करने में कई दिन लग गए और रिलीज़ ब्लॉक हो गई।
चुनौती
बाजार में लाने के समय को कम करने का दबाव मैन्युअल परीक्षण चक्रों से आगे नहीं बढ़ सका, जिससे देरी या निम्न गुणवत्ता का खतरा पैदा हो गया।
समाधान Selenium पेज ऑब्जेक्ट मॉडल
एक QA स्वचालन प्रमुख ने C# में पेज ऑब्जेक्ट मॉडल (POM) संरचना प्रस्तुत की। Selenium वेबड्राइवर स्क्रिप्ट ने पृष्ठ तत्वों और क्रियाओं (फ़्लाइट खोजें, फ़िल्टर लागू करें, और भुगतान मामले) को समाहित कर लिया। GitLab CI पर हर रात स्वचालित परीक्षण चलाए गए।
परिणाम
- परीक्षण का समय 3 दिन से घटकर मात्र 4 घंटे रह गया।
- एकाधिक सुविधाओं में स्क्रिप्ट के पुनः उपयोग से स्क्रिप्टिंग प्रयास में 50% की कमी आई।
- आत्मविश्वास बढ़ा: रिलीज न्यूनतम बग रिपोर्ट के साथ निर्धारित समय पर भेज दी गई।
सामान्य Selenium चुनौतियाँ (और समाधान)
यद्यपि Selenium शक्तिशाली होने के बावजूद, परीक्षकों को अक्सर ऐसी चुनौतियों का सामना करना पड़ता है जो विश्वसनीयता और गति को प्रभावित कर सकती हैं। यहाँ कुछ सामान्य चुनौतियाँ और उन्हें ठीक करने के तरीके दिए गए हैं:
- परतदार परीक्षण:
समय या नेटवर्क संबंधी समस्याओं के कारण परीक्षण अनियमित रूप से विफल हो सकते हैं।
फिक्स: स्पष्ट प्रतीक्षा और स्थिर लोकेटर का उपयोग करें; बचेंThread.sleep(). - गतिशील वेब तत्व:
तत्व आईडी या XPaths बदलने से तत्व-नहीं-मिला त्रुटियाँ उत्पन्न होती हैं।
फिक्स: सापेक्ष XPaths, CSS चयनकर्ता, या गतिशील विशेषता प्रबंधन का उपयोग करें. - Syncह्रोनाइजेशन मुद्दे:
तत्व स्क्रिप्ट निष्पादन की तुलना में धीमी गति से लोड होते हैं।
फिक्स: अपेक्षित शर्तों के साथ WebDriverWait को कार्यान्वित करें। - क्रॉस-ब्राउज़र असंगतताएँ:
क्रोम पर परीक्षण अलग तरह से व्यवहार करते हैं, Firefox, या एज.
फिक्स: परीक्षण चलाएँ Selenium क्रॉस-ब्राउज़र सत्यापन के लिए ग्रिड या क्लाउड प्लेटफ़ॉर्म। - पॉप-अप और अलर्ट को संभालना:
अप्रत्याशित पॉप-अप परीक्षण प्रवाह को बाधित कर सकते हैं।
फिक्स: उपयोग Seleniumके अलर्ट इंटरफ़ेस या ट्राई-कैच ब्लॉक का उपयोग करके उन्हें सुचारू रूप से प्रबंधित करें। - परीक्षण रखरखाव ओवरहेड:
बार-बार UI परिवर्तन से परीक्षण कमजोर हो जाते हैं।
फिक्स: आसान अद्यतन के लिए पेज ऑब्जेक्ट मॉडल (POM) और संस्करण नियंत्रण अपनाएं। - एकीकरण चुनौतियां:
ड्राइवर समस्याओं के कारण CI/CD पाइपलाइनें विफल हो सकती हैं।
फिक्स: उपयोग Selenium प्रबंधक (Selenium 4+) या वेबड्राइवर मैनेजर का उपयोग कर ड्राइवरों का स्वतः प्रबंधन करें।
संक्षेप में: बहुत से Selenium समस्याएँ खराब समन्वयन या भंगुर लोकेटरों से उत्पन्न होती हैं - दोनों ही स्मार्ट प्रतीक्षा, मॉड्यूलर डिजाइन और निरंतर रखरखाव के माध्यम से हल की जा सकती हैं।




.png)
.jpg)
.jpg)
.jpg)



