एचएमबी क्या है? Selenium? परिचय ट्यूटोरियल
एचएमबी क्या है? Selenium?
Selenium एक मुफ़्त (ओपन-सोर्स) स्वचालित परीक्षण ढांचा है जिसका उपयोग विभिन्न ब्राउज़रों और प्लेटफ़ॉर्म पर वेब एप्लिकेशन को मान्य करने के लिए किया जाता है। आप कई प्रोग्रामिंग भाषाओं का उपयोग कर सकते हैं जैसे Java, सी#, Python, आदि बनाने के लिए Selenium टेस्ट स्क्रिप्ट। का उपयोग करके किया गया परीक्षण Selenium परीक्षण उपकरण को आमतौर पर कहा जाता है Selenium परीक्षण.
विशेषज्ञ अंतर्दृष्टि
"अपने परीक्षणों में निश्चित स्लीप विलंब का उपयोग करने से बचें। इसके बजाय, तत्वों के लोड होने की प्रतीक्षा करने के लिए स्पष्ट प्रतीक्षा (जैसे WebDriverWait) का उपयोग करें। यह आपकी स्क्रिप्ट को अधिक विश्वसनीय और तेज़ बनाता है, क्योंकि वे वास्तविक पृष्ठ स्थितियों के अनुसार गतिशील रूप से प्रतिक्रिया करते हैं - हर जगह छात्रों के लिए एक महत्वपूर्ण सर्वोत्तम अभ्यास, 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 कोर को परीक्षण के तहत संपूर्ण एप्लिकेशन और वेब सर्वर को अपने स्थानीय कंप्यूटरों पर स्थापित करना पड़ा क्योंकि उन पर प्रतिबंध लगा दिए गए थे। समान मूल नीति. तो ThoughtWork के एक अन्य इंजीनियर, पॉल हैमंटने एक ऐसा सर्वर बनाने का निर्णय लिया जो ब्राउज़र को यह विश्वास दिलाने के लिए HTTP प्रॉक्सी के रूप में कार्य करेगा कि Selenium कोर और परीक्षण किया जा रहा वेब एप्लिकेशन एक ही डोमेन से आते हैं। इस सिस्टम को के रूप में जाना जाता है Selenium रिमोट कंट्रोल or Selenium 1.
जन्म Selenium ग्रिड
Selenium ग्रिड का विकास किसके द्वारा किया गया? पैट्रिक लाइटबॉडी परीक्षण निष्पादन समय को यथासंभव कम करने की आवश्यकता को संबोधित करने के लिए। उन्होंने शुरू में इस प्रणाली को "होस्टेड QA." यह महत्वपूर्ण चरणों के दौरान ब्राउज़र स्क्रीनशॉट कैप्चर करने में सक्षम था, और साथ ही बाहर भेजना 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 बनाया था, उसके बाद इसे HP द्वारा अधिग्रहित कर लिया गया)। Selenium के लिए एक प्रसिद्ध मारक है Mercury ज़हर के बारे में बात करते हुए, जेसन ने उस नाम का सुझाव दिया और उसके साथियों ने उसे ले लिया। इसलिए हम इस ढांचे को वर्तमान तक इसी नाम से पुकारते हैं।
एचएमबी क्या है? Selenium आईडीई?
Selenium एकीकृत विकास पर्यावरण (आईडीई) सरलतम ढांचा में Selenium सुइट और है सीखने में सबसे आसान. यह एक है क्रोम और Firefox लगाना जिसे आप अन्य प्लगइन्स की तरह ही आसानी से इंस्टॉल कर सकते हैं। हालाँकि, इसकी सरलता के कारण, Selenium आईडीई का उपयोग केवल एक के रूप में किया जाना चाहिए प्रोटोटाइपिंग उपकरणयदि आप अधिक उन्नत परीक्षण मामले बनाना चाहते हैं, तो आपको या तो उपयोग करना होगा 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 ग्रिड |
|
के बीच तुलना Selenium और क्यूटीपी (अब यूएफटी)
क्विक टेस्ट प्रोफेशनल (QTP) यह एक स्वामित्व वाली स्वचालित परीक्षण उपकरण है जो पहले कंपनी के स्वामित्व में थी Mercury इंटरैक्टिव हेवलेट-पैकार्ड द्वारा अधिग्रहित किये जाने से पहले 2006 में. बाद में इसका मालिक माइक्रोफोकस है और उपकरण का नाम बदलकर यूएफटी वन रखा गया है। Selenium टूल सूट के कई फायदे हैं क्यूटीपी जैसा नीचे विस्तृत रूप में दिया गया है -
के लाभ और फायदे Selenium क्यूटीपी पर
Selenium | क्यूटीपी |
---|---|
खुला स्त्रोत, उपयोग करने के लिए स्वतंत्र, तथा निःशुल्क। | व्यावसायिक. |
अत्यधिक एक्स्टेंसिबल | सीमित ऐड-ऑन |
परीक्षण चला सकते हैं विभिन्न ब्राउज़र | केवल में परीक्षण चला सकते हैं Firefox, इंटरनेट एक्सप्लोरर और Chrome |
समर्थन करता है विभिन्न ऑपरेटिंग सिस्टम | केवल में इस्तेमाल किया जा सकता है Windows |
समर्थन करता है मोबाइल उपकरणों | QTP मोबाइल ऐप परीक्षण स्वचालन (iOS और Android) HP मोबाइल सेंटर नामक HP समाधान का उपयोग करके |
परीक्षण निष्पादित कर सकते हैं जब la ब्राउज़र छोटा कर दिया गया है | परीक्षण के अंतर्गत आने वाले एप्लिकेशन को डेस्कटॉप पर दिखाई देने की आवश्यकता है |
परीक्षण निष्पादित कर सकते हैं समानांतर में. | केवल समानांतर रूप से ही क्रियान्वयन किया जा सकता है, लेकिन क्वालिटी सेंटर का उपयोग करके, जो कि एक सशुल्क उत्पाद है। |
रियल-वर्ल्ड केस स्टडीज
🔍 केस स्टडी 1: SaaS डैशबोर्ड के लिए क्रॉस-ब्राउज़र संगतता
परिदृश्य
एक सॉफ्टवेयर-एज-ए-सर्विस कंपनी एक एनालिटिक्स डैशबोर्ड जारी करने की तैयारी कर रही थी, जिसे आधुनिक ब्राउज़रों (क्रोम, Firefox, एज, सफारी)।
चुनौती
प्रत्येक ब्राउज़र पर मैन्युअल परीक्षण समय लेने वाला, त्रुटि-प्रवण था, तथा तीव्र विकास पुनरावृत्तियों के साथ तालमेल नहीं रख सकता था।
समाधान Selenium
एक QA इंजीनियर ने बनाया Selenium ग्रिड एक ही परीक्षण सूट को एक साथ कई ब्राउज़रों और ओएस संयोजनों में निष्पादित करने के लिए सेटअप। परीक्षण में लिखा गया था Python का उपयोग Selenium लॉगिन, चार्ट फ़िल्टरिंग और डेटा निर्यात जैसी क्रियाओं के लिए वेबड्राइवर।
परिणाम
- प्रतिगमन अवधि 80% तक कम हो गई।
- ब्राउज़र-विशिष्ट रेंडरिंग बगों का शीघ्र पता लगाया गया (जैसे, IE में गलत संरेखित ग्राफ़)।
- अतिरिक्त मैनुअल चक्रों के बिना ब्राउज़र मैट्रिक्स में सुसंगत डैशबोर्ड UX बनाए रखा।
⚙️ केस स्टडी 2: वेब ऐप के लिए CI/CD एकीकरण Selenium + TestNG
परिदृश्य
एक मध्यम आकार की वेब डेवलपमेंट फर्म जेनकिंस का उपयोग करके CI/CD पाइपलाइन पर निर्भर करती है। उन्हें यह सुनिश्चित करने की आवश्यकता थी कि प्रत्येक कोड परिवर्तन के बाद कोर उपयोगकर्ता यात्राएँ काम करें।
चुनौती
नए बिल्ड परिनियोजन के कारण कभी-कभी उपयोगकर्ता प्रवाह बाधित हो जाता था - लॉगिन, फॉर्म सबमिशन - और दिन के अंत में मैन्युअल परीक्षण तक इसका पता नहीं चल पाता था।
समाधान Selenium
एक परीक्षक ने कार्यान्वित किया Javaआधारित Selenium वेबड्राइवर सुइट के साथ एकीकृत TestNG. परीक्षणों में प्रमाणीकरण, प्रोफ़ाइल अपडेट और खोज कार्यक्षमताएं शामिल थीं। ये हर जेनकिंस बिल्ड पर चलाए गए, समानांतर निष्पादन और ब्राउज़र पैरामीटराइजेशन का लाभ उठाते हुए।
परिणाम
- शीघ्र विफलता संबंधी फीडबैक प्राप्त हुआ: टूटे हुए प्रवाहों को तुरंत चिह्नित किया गया।
- तैनाती के बाद की त्रुटियों में 60% से अधिक की कमी आई।
- डेवलपर्स को QA तक पहुंचने से पहले समस्याओं का समाधान करने में सक्षम बनाया गया।
🚀 केस स्टडी 3: ट्रैवल एग्रीगेटर के लिए फीचर रिलीज़ में तेज़ी लाना
परिदृश्य
एक ट्रैवल एग्रीगेटर प्लेटफ़ॉर्म को एक नया फ़्लाइट बुकिंग फ़ीचर जारी करने की ज़रूरत थी। 10 से ज़्यादा पेजों पर मैन्युअल रिग्रेशन टेस्ट करने में कई दिन लग गए और रिलीज़ ब्लॉक हो गई।
चुनौती
बाजार में लाने के समय को कम करने का दबाव मैन्युअल परीक्षण चक्रों से आगे नहीं बढ़ सका, जिससे देरी या निम्न गुणवत्ता का खतरा पैदा हो गया।
समाधान Selenium पेज ऑब्जेक्ट मॉडल
एक QA स्वचालन प्रमुख ने C# में पेज ऑब्जेक्ट मॉडल (POM) संरचना प्रस्तुत की। Selenium वेबड्राइवर स्क्रिप्ट ने पेज तत्वों और क्रियाओं (खोज उड़ानें, फ़िल्टर लागू करना, भुगतान मामले) को समाहित किया। GitLab CI पर रात में स्वचालित परीक्षण रन शुरू किए गए।
परिणाम
- परीक्षण का समय 3 दिन से घटकर मात्र 4 घंटे रह गया।
- एकाधिक सुविधाओं में स्क्रिप्ट के पुनः उपयोग से स्क्रिप्टिंग प्रयास में 50% की कमी आई।
- आत्मविश्वास बढ़ा: रिलीज न्यूनतम बग रिपोर्ट के साथ निर्धारित समय पर भेज दी गई।
क्यूटीपी के लाभ Selenium
क्यूटीपी | Selenium |
---|---|
परीक्षण कर सकते हैं वेब और डेस्कटॉप दोनों अनुप्रयोग | केवल वेब अनुप्रयोगों का परीक्षण कर सकते हैं |
के साथ आता है अंतर्निहित ऑब्जेक्ट रिपोजिटरी | इसमें कोई अंतर्निहित ऑब्जेक्ट रिपोजिटरी नहीं है |
से अधिक तेजी से स्वचालित होता है Selenium क्योंकि यह एक पूर्ण विशेषताओं वाला IDE है। | यह धीमी गति से स्वचालित होता है क्योंकि इसमें मूल IDE नहीं होता है, तथा विकास के लिए केवल तृतीय-पक्ष IDE का ही उपयोग किया जा सकता है। |
डेटा-संचालित परीक्षण करना आसान है क्योंकि इसमें अंतर्निर्मित वैश्विक और स्थानीय डेटा तालिकाएं हैं. | डेटा-संचालित परीक्षण अधिक बोझिल है क्योंकि आपको अपने परीक्षण डेटा के लिए मान सेट करने के लिए प्रोग्रामिंग भाषा की क्षमताओं पर निर्भर रहना पड़ता है |
ब्राउज़र के भीतर नियंत्रणों तक पहुँच सकते हैं(जैसे पसंदीदा बार, पता बार, पीछे और आगे बटन, आदि) | परीक्षण के अंतर्गत वेब अनुप्रयोग के बाहर के तत्वों तक पहुँच नहीं हो सकती |
पेशेवर प्रदान करता है ग्राहक सहेयता | कोई आधिकारिक उपयोगकर्ता सहायता प्रदान नहीं की जा रही है। |
इसमें मूलतः क्षमता है परीक्षण डेटा निर्यात करें बाह्य प्रारूपों में | रनटाइम डेटा को बाहरी प्रारूपों में निर्यात करने की कोई मूल क्षमता नहीं है |
पैरामीटराइज़ेशन समर्थन बनाया गया है | पैरामीटरीकरण प्रोग्रामिंग के माध्यम से किया जा सकता है लेकिन इसे क्रियान्वित करना कठिन है। |
परीक्षण रिपोर्ट स्वचालित रूप से तैयार की जाती हैं | परीक्षण/बग रिपोर्ट तैयार करने के लिए कोई मूल समर्थन नहीं। |
यद्यपि स्पष्टतः, QTP में अधिक उन्नत क्षमताएं हैं, Selenium तीन मुख्य क्षेत्रों में क्यूटीपी आगे है:
- लागत(इसलिये Selenium पूर्णतः निःशुल्क है)
- लचीलापन(क्योंकि यह अनेक प्रोग्रामिंग भाषाओं, ब्राउज़रों और प्लेटफार्मों का समर्थन कर सकता है)
- समानांतर परीक्षण(ऐसा कुछ जो QTP करने में सक्षम है, लेकिन केवल क्वालिटी सेंटर के उपयोग से)
सारांश
- पूरा Selenium सॉफ्टवेयर परीक्षण सूट चार घटकों से मिलकर बना है:
- Selenium विचार Firefox और क्रोम ऐड-ऑन जिसका उपयोग आप केवल अपेक्षाकृत सरल परीक्षण मामलों और परीक्षण सूट बनाने में कर सकते हैं।
- Selenium रिमोट कंट्रोल, जिसे इस नाम से भी जाना जाता है Selenium 1, पहला है Selenium यह एक ऐसा उपकरण है जो उपयोगकर्ताओं को जटिल परीक्षण बनाने में प्रोग्रामिंग भाषाओं का उपयोग करने की अनुमति देता है।
- वेबड्राइवर, एक नई उपलब्धि है जो आपकी परीक्षण स्क्रिप्ट को सीधे ब्राउज़र से संवाद करने की अनुमति देता है, जिससे इसे ओएस स्तर से नियंत्रित किया जा सकता है।
- Selenium ग्रिड भी एक उपकरण है जिसका उपयोग किया जाता है Selenium RC का उपयोग विभिन्न ब्राउज़रों और ऑपरेटिंग सिस्टमों पर समानांतर परीक्षण करने के लिए किया जाता है।
- Selenium RC और WebDriver को मिलाकर बनाया गया Selenium 2.
- Selenium लागत और लचीलेपन के मामले में माइक्रोफोकस यूएफटी वन की तुलना में यह अधिक लाभप्रद है।