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

यह देखते हुए कि ब्राउज़र स्क्रिप्ट आमतौर पर धीमी होती हैं, समानांतर परीक्षण जैसी प्रदर्शन तकनीकों का उपयोग करने से इस समस्या से निपटने में मदद मिल सकती है। इसका उपयोग समानांतर में विभिन्न ब्राउज़रों में एक ही एप्लिकेशन का परीक्षण करने के लिए भी किया जा सकता है, जब फ़ायरफ़ॉक्स एक कंप्यूटर पर चल रहा हो, क्रोम दूसरे कंप्यूटर पर चल रहा हो, और इसी तरह। ब्राउज़र और ऑपरेटिंग सिस्टम के विभिन्न संस्करणों को मिलाकर विभिन्न कॉन्फ़िगरेशन बनाना संभव है। कहने की जरूरत नहीं है, जब बड़े उत्पादन वातावरण में उपयोग किया जाता है, तो ग्रिड चार गुना समय बचाता है।
पेशेवरों
सेलेनियम बाजार पर एकमात्र परीक्षण स्वचालन उपकरण नहीं है, बल्कि यह एकमात्र मुफ्त उपकरण है जो भुगतान किए गए उत्पादों के साथ प्रतिस्पर्धा कर सकता है। कैटलन स्टूडियो एक व्यवहार्य विकल्प है, लेकिन यह उतनी भाषाएं प्रदान नहीं करता है, न ही लिनक्स पर चलता है, और न ही इसका कोई प्रशंसक आधार है।
आश्चर्य नहीं कि बड़ी कंपनियां भी सशुल्क साइटों पर जाने की जल्दी में नहीं हैं और सेलेनियम जो मुफ्त में करता है उसके लिए हजारों डॉलर दे देता है। सेलेनियम के साथ काम करने वाली कंपनियों की संख्या 55 हजार से अधिक है। परीक्षण और स्वचालन में इसकी बाजार हिस्सेदारी लगभग 30% है।
भाषाओं, प्लेटफार्मों, ब्राउज़रों के लिए समर्थन:
- जावा
- सी#
- PHP
- रूबी
- पर्ल
- पायथन
- जावास्क्रिप्ट
- उद्देश्य-सी
- हास्केल
- आर
- विंडोज
- लिनक्स
- मैक
- एंड्रॉयड
- आईओएस
- गूगल क्रोम
- इंटरनेट एक्सप्लोरर
- फ़ायरफ़ॉक्स
- सफारी
- ओपेरा
- माइक्रोसॉफ्ट एज
- HtmlUnitDriver
विपक्ष
शायद एकमात्र महत्वपूर्ण नुकसान यह है कि सेलेनियम का उपयोग केवल वेब अनुप्रयोगों में किया जा सकता है। लेकिन यह एक सीमा से अधिक है, कोई कमी नहीं है, क्योंकि WinAppDriver को डेस्कटॉप अनुप्रयोगों का परीक्षण करने के लिए सेलेनियम में एकीकृत किया जा सकता है।
निष्कर्ष में एक छोटा सा इतिहास
2004 में, जेसन हगिंस ने अपने निर्माता को दोहराव वाले मैनुअल परीक्षण से मुक्त करने के लिए डिज़ाइन किया गया एक जावास्क्रिप्ट ढांचा बनाया। उत्पाद, जिसे पहले JavaScriptTestRunner कहा जाता है, सीधे ब्राउज़र में परीक्षण चला सकता है, पेज इंटरैक्शन प्रबंधित कर सकता है, और मैन्युअल इनपुट के बिना उन्हें फिर से चला सकता है। हगिन्स के बाद यह जावास्क्रिप्ट टूल लोकप्रिय हो गया, इसकी पूरी क्षमता को महसूस करते हुए, इसे खुला स्रोत बना दिया और इसका नाम बदलकर सेलेनियम रिमोट कंट्रोल कर दिया। अभिनव हिस्सा यह था कि तब तक किसी अन्य उपकरण ने परीक्षकों को अपनी पसंद की प्रोग्रामिंग भाषा में ब्राउज़र के साथ संवाद करने की अनुमति नहीं दी थी।
हालांकि, यह जल्द ही स्पष्ट हो गया कि ब्राउज़र जावास्क्रिप्ट पर सुरक्षा प्रतिबंध लगा रहे थे, जिससे टूल की पूरी शक्ति का उपयोग करना असंभव हो गया। उस समय, Google सेलेनियम का एक उत्साही उपयोगकर्ता था और इसके इंजीनियरों ने प्रतिबंधों को दूर करने की पूरी कोशिश की। उनमें से एक, साइमन स्टीवर्ट ने एक ऐसे उत्पाद पर काम करना शुरू किया जो सीधे ब्राउज़रों के साथ बातचीत करेगा और इसे वेबड्राइवर कहा जाएगा।