सेलेनियम वेब ड्राइवर एक वेब स्वचालन उपकरण है जो आपको विभिन्न ब्राउज़रों के खिलाफ परीक्षण चलाने में सक्षम बनाता है। ये ब्राउजर इंटरनेट एक्सप्लोरर, फायरफॉक्स या क्रोम हो सकते हैं। सेलेनियम के साथ एक विशेष ब्राउज़र का उपयोग करने के लिए आपको संबंधित ड्राइवर की आवश्यकता होती है।
टेस्ट रन के दौरान, सेलेनियम स्क्रिप्ट में कहे गए ब्राउज़र को लॉन्च करता है और परीक्षण चरणों को निष्पादित करता है। आप कार्रवाई में ब्राउज़र और परीक्षण निष्पादन देख सकते हैं।
क्या ब्राउज़र रहित है?
एक बिना सिर वाला ब्राउज़र एक ग्राफिकल यूजर इंटरफेस के बिना एक वेब-ब्राउज़र है । यह प्रोग्राम एक ब्राउज़र की तरह ही व्यवहार करेगा लेकिन कोई GUI नहीं दिखाएगा।
हेडलेस ड्राइवर्स के कुछ उदाहरणों में शामिल हैं
- HtmlUnit
- भूत
- फैंटमजस
- ज़ोंबीजेएस
- वटिर-वेबड्राइवर
इस ट्यूटोरियल में हम HtmlUnit और PhatomJS पर ध्यान केंद्रित करेंगे
HTMLUnitDriver
HTML UnitDriver, WebDriver के लिए सबसे हल्का वजन और सबसे तेज़ कार्यान्वयन हेडलेस ब्राउज़र है। यह HtmlUnit पर आधारित है। इसे हेडलेस ब्राउज़र ड्राइवर के रूप में जाना जाता है । यह क्रोम, IE, या फ़ायर्फ़ॉक्स ड्राइवर के समान है, लेकिन इसमें GUI नहीं है, इसलिए स्क्रीन पर परीक्षण निष्पादन नहीं देख सकता है।
HTML यूनिट ड्राइवर की विशेषताएं
- HTTPS और HTTP प्रोटोकॉल के लिए समर्थन
- HTML प्रतिक्रियाओं के लिए समर्थन (लिंक पर क्लिक करना, फ़ॉर्म सबमिट करना, HTML दस्तावेज़ का DOM मॉडल चलना आदि)
- कुकीज़ के लिए समर्थन
- प्रॉक्सी सर्वर समर्थन
- मूल और NTLM प्रमाणीकरण के लिए समर्थन
- बहुत बढ़िया जावास्क्रिप्ट का समर्थन
- GET और POST जमा करने के तरीकों का समर्थन
- सर्वर को भेजे जा रहे अनुरोध शीर्ष लेखों को अनुकूलित करने की क्षमता
- यह निर्धारित करने की क्षमता है कि सर्वर से विफल होने वाली प्रतिक्रियाओं को अपवाद फेंकना चाहिए या उपयुक्त प्रकार के पृष्ठों के रूप में लौटाया जाना चाहिए
सेलेनियम के साथ HTMLUnit चालक का उपयोग करने के लिए कदम
चरण 1) ग्रहण में, निम्नलिखित कोड को कॉपी करें। प्रोजेक्ट में मानक सेलेनियम लाइब्रेरी फ़ाइलों को जोड़ें। कोई अतिरिक्त जार फ़ाइलों की आवश्यकता नहीं है।
पैकेज htmririver;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.WebElement;आयात org.openqa.selenium.htmlunit.HtmlUnitDriver;सार्वजनिक वर्ग htmlUnitYest {सार्वजनिक स्थैतिक शून्य main (String [] args) {// HTML यूनिट ड्राइवर का एक नया उदाहरण बनानाWebDriver ड्राइवर = नया HtmlUnitDriver ();// Google पर नेविगेट करेंDriver.get ("http://www.google.com");// अपने नाम का उपयोग करके खोज बॉक्स का पता लगाएँWebElement element = driver.findElement (By.name ("q"));// एक खोज क्वेरी दर्ज करेंelement.sendKeys ("गुरु 99");// क्वेरी सबमिट करें। वेबड्राइवर स्वचालित रूप से टेक्स्ट इनपुट तत्व का उपयोग करके फॉर्म की खोज करता है// सबमिट बटन को खोजने / खोजने की आवश्यकता नहीं हैelement.submit ();// यह कोड पृष्ठ शीर्षक को प्रिंट करेगाप्रणाली। बाहर .println ( "पृष्ठ का शीर्षक है: + driver.getTitle ());Driver.quit ();}}
चरण 2) कोड चलाएँ। आप किसी भी ब्राउज़र को लॉन्च नहीं करेंगे और परिणाम कंसोल में दिखाए जाएंगे।
Html Unit ड्राइवर के लाभ:
- चूंकि यह परीक्षण करने के लिए किसी भी GUI का उपयोग नहीं कर रहा है, आपके परीक्षण पृष्ठभूमि में बिना किसी रुकावट के चलेंगे
- अन्य सभी उदाहरणों की तुलना में निष्पादन तेज है
- HtmlUnit ड्राइवर के माध्यम से अपने परीक्षण चलाने के लिए आप अन्य ब्राउज़र संस्करणों का भी चयन कर सकते हैं
- यह प्लेटफ़ॉर्म स्वतंत्र और कई परीक्षणों को समवर्ती रूप से चलाना आसान है। लोड परीक्षण के लिए आदर्श।
सीमाएं:
- यह अन्य ब्राउज़र जावास्क्रिप्ट व्यवहार का अनुकरण नहीं कर सकता है
फैंटमजस
PhantomJS जावास्क्रिप्ट एपीआई के साथ एक सिर रहित ब्राउज़र है। यह हेडलेस वेबसाइट टेस्टिंग के लिए एक इष्टतम समाधान है, वेबपेजों तक पहुंच और हेरफेर करता है और मानक DOM API के साथ आता है।
सेलेनिअन के साथ फैंटमजेएस का उपयोग करने के लिए, किसी को घोस्टड्राइवर का उपयोग करना होगा। घोस्टड्राइवर फैंटम जेएस के लिए सरल जेएस में वेबड्राइवर वायर प्रोटोकॉल का कार्यान्वयन है।
PhatomJS की नवीनतम रिलीज़ ने घोस्टड्राइवर को एकीकृत किया है और इसे अलग से स्थापित करने की कोई आवश्यकता नहीं है।
यहां बताया गया है कि सिस्टम कैसे काम करता है-
चरणोमजस के साथ सेलेनियम को चलाने के लिए कदम
चरण 1) आपको सेलेनियम के साथ ग्रहण की आवश्यकता है
चरण 2) यहां फैंटमज डाउनलोड करें
चरण 3) डाउनलोड की गई फ़ोल्डर को प्रोग्राम फ़ाइलों में निकालें
स्टेप 4) यहां से फैंटमज ड्राइवर डाउनलोड करें। जार को अपनी परियोजना में जोड़ें
चरण 5) ग्रहण में निम्नलिखित कोड चिपकाएँ
पैकेज htmririver;आयात java.io.File;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.WebElement;आयात org.openqa.selenium.phantomjs.PhantomJSDriver;पब्लिक क्लास फैंटम {सार्वजनिक स्थैतिक शून्य main (String [] args) {फ़ाइल फ़ाइल = नई फ़ाइल ("C: / प्रोग्राम फाइल्स / फैंटमज्स-2.0.0-विंडो / बिन / फैंटमजेसिवो");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());WebDriver ड्राइवर = नया PhantomJSDriver ();Driver.get ("http://www.google.com");WebElement element = driver.findElement (By.name ("q"));element.sendKeys ("गुरु 99");element.submit ();System.out.println ("पृष्ठ का शीर्षक है: + driver.getTitle ());Driver.quit ();}}
चरण 6) कोड चलाएँ। आप देखेंगे कि आउटपुट कंसोल में दिखाया गया है और कोई ब्राउज़र लॉन्च नहीं किया गया है।
नोट : पहली बार में, अपनी सेटिंग्स के आधार पर, आपको PhantomJS चलाने की अनुमति देने के लिए विंडोज से सुरक्षा चेतावनी मिल सकती है। अनुमति दें पर क्लिक करें।
कई संगठन विभिन्न उद्देश्य के लिए Phantom.JS का उपयोग करते हैं, उदाहरण के लिए,
- बिना परीक्षण के
- स्क्रीन कैप्चर
- पृष्ठ स्वचालन
- नेटवर्क की निगरानी
- अपने उपयोगकर्ताओं के लिए डैशबोर्ड स्क्रीनशॉट प्रदान करने के लिए
- कमांड लाइन पर यूनिट परीक्षण चलाने के लिए
- HTML से पीडीएफ में कर्मचारी हैंडबुक उत्पन्न करने के लिए
- टेस्ट सूट के लिए क्विट के साथ संयुक्त
सारांश
विभिन्न ब्राउज़रों में तेजी से और बिना किसी रुकावट के एप्लिकेशन का परीक्षण करने के लिए, हेडलेस ब्राउजर परीक्षण का उपयोग किया जाता है। अपनी गति, सटीकता और सुविधाओं का उपयोग करने में आसान होने के कारण, एचटीएमएल यूनिट ड्राइवर और फैंटम जेएस हेडलेस ब्राउज़र परीक्षण के लिए लोकप्रियता प्राप्त कर रहे हैं। कुछ सरल चरणों का पालन करके आप यह जान सकते हैं कि इन उपकरणों को अन्य उपकरणों के साथ कितनी आसानी से एकीकृत किया जा सकता है और परीक्षण कोड निष्पादित कर सकते हैं।