वांछित क्षमताएं
वांछित क्षमताएं सेलीनियम में एक वर्ग है जिसका उपयोग वेब अनुप्रयोगों के क्रॉस ब्राउज़र परीक्षण करने के लिए ब्राउज़रों के गुणों को सेट करने के लिए किया जाता है। यह क्षमताओं को कुंजी-मूल्य जोड़े के रूप में संग्रहीत करता है और इन क्षमताओं का उपयोग ब्राउज़र गुणों को सेट करने के लिए किया जाता है जैसे ब्राउज़र नाम, ब्राउज़र संस्करण, सिस्टम में ब्राउज़र ड्राइवर का पथ, आदि।
- सेलेनियम वेबड्राइवर के ड्राइवर उदाहरण को कॉन्फ़िगर करने के लिए वांछित क्षमता का भी उपयोग किया जा सकता है।
- हम वांछित क्षमताओं का उपयोग करके FirefoxDriver, ChromeDriver, InternetExplorerDriver जैसे ड्राइवर उदाहरण को कॉन्फ़िगर कर सकते हैं।
इस ट्यूटोरियल में, आप सीखेंगे-
- वांछित क्षमता क्या है?
- हमें वांछित क्षमताओं की आवश्यकता क्यों है?
- वांछित क्षमताओं के विभिन्न प्रकार
- सेट क्षमता विधि के लिए उदाहरण
हमें वांछित क्षमताओं की आवश्यकता क्यों है?
वांछित क्षमताओं की आवश्यकता है क्योंकि प्रत्येक परीक्षण परिदृश्य को कुछ विशिष्ट परीक्षण वातावरण पर निष्पादित किया जाना चाहिए। परीक्षण वातावरण एक वेब ब्राउज़र, मोबाइल डिवाइस, मोबाइल एमुलेटर, मोबाइल सिम्युलेटर, आदि हो सकता है। वांछित क्षमताएं कक्षा हमें वेबड्राइवर को यह बताने में मदद करती हैं कि हम अपने परीक्षण स्क्रिप्ट में किस पर्यावरण का उपयोग करने जा रहे हैं।
DesiredCapabilities वर्ग की सेटैकेबिलिटी विधि , जिसे ट्यूटोरियल के बाद के भाग में समझाया गया है, का उपयोग सेलेनियम ग्रिड में किया जा सकता है। इसका उपयोग विभिन्न मशीन कॉन्फ़िगरेशन पर समानांतर निष्पादन करने के लिए किया जाता है।
Ex: ग्रिड
इसका उपयोग ब्राउज़र गुणों (Ex। Chrome, IE), प्लेटफ़ॉर्म नाम (Ex। Linux, Windows) को सेट करने के लिए किया जाता है जो परीक्षण मामलों को निष्पादित करते समय उपयोग किए जाते हैं।
मोबाइल स्वचालन के मामले में, जैसा कि हम मोबाइल उपकरणों की विभिन्न किस्मों पर परीक्षण करते हैं, मोबाइल प्लेटफ़ॉर्म (उदा। IOS, Android) प्लेटफ़ॉर्म संस्करण (Ex। 3.x, 4.x in Android) सेट किया जा सकता है।
उपरोक्त एमुलेटर उदाहरण प्लेटफ़ॉर्म सेट को दर्शाता है जो कि एंड्रॉइड है और प्लेटफ़ॉर्म संस्करण सेट है जो आइसक्रीम सैंडविच (4.x) है।
वांछित क्षमताएँ जैसे मामलों में अधिक उपयोगी हैं:
- मोबाइल एप्लिकेशन स्वचालन में, जहां ब्राउज़र गुण और डिवाइस गुण सेट किए जा सकते हैं।
- सेलेनियम ग्रिड में जब हम विभिन्न ऑपरेटिंग सिस्टम और संस्करणों के साथ एक अलग ब्राउज़र पर परीक्षण मामलों को चलाना चाहते हैं।
वांछित क्षमताओं के विभिन्न प्रकार
यहां हम एक अलग प्रकार की वांछित क्षमताओं के तरीकों को देखेंगे और देखेंगे कि इस पद्धति का उपयोग कैसे करें " setCapability Method"।
- getBrowserName ()
सार्वजनिक java.lang.String getBrowserName ()
- setBrowserName ()
सार्वजनिक शून्य सेट
- getVersion ()
सार्वजनिक java.lang.String getVersion ()
- SetVersion ()
सार्वजनिक शून्य सेटविज़न (java.lang.String संस्करण)
- getPlatform ()
सार्वजनिक मंच getPlatform ()
- सेट-रिकॉर्डर ()
सार्वजनिक मंच setPlatform ()
- getCapability विधि
DesiredCapabilities वर्ग की getCapability विधि का उपयोग उस क्षमता को प्राप्त करने के लिए किया जा सकता है जो वर्तमान में सिस्टम में उपयोग में है।
सार्वजनिक java.lang.Object getCapability (java.lang.String क्षमता नाम)
- setCapability () विधि
वांछित क्षमता वर्ग की setCapability () विधि का उपयोग डिवाइस के नाम, OS नाम और संस्करण, ब्राउज़र नाम और संस्करण जैसे परीक्षण वातावरण की संपत्ति को सेट करने के लिए किया जाता है, परीक्षण के तहत एप्लिकेशन का पूर्ण पथ (एंड्रॉइड ऐप की .apk फ़ाइल)। परीक्षण के तहत), एप्लिकेशन गतिविधि (Android में) और appPackage (जावा में)।
जावा में "setCapability विधि" में निम्न घोषणाएं हैं:
setCapability: सार्वजनिक शून्य setCapability (java.lang.String क्षमता नाम, बूलियन मान)
setCapability: सार्वजनिक शून्य setCapability (java.lang.String क्षमता नाम, java.lang.String मान)
setCapability: सार्वजनिक शून्य setCapability (java.lang.String क्षमता नाम, प्लेटफ़ॉर्म मान)
सेट की क्षमता: सार्वजनिक शून्य
सेट क्षमता विधि के लिए उदाहरण
आइए एक उदाहरण पर विचार करें, जहां हम इंटरनेट एक्सप्लोरर ब्राउजर पर अपना टेस्ट केस चलाना चाहते हैं, ताकि सेलेनियम वेबराइवर का उपयोग करके www.gmail.com वेबसाइट को खोला जा सके।
निम्नलिखित कोड है।
आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.ie.InternetExplorerDriver;सार्वजनिक वर्ग IEtestforDesiredCapabilities {सार्वजनिक स्थैतिक शून्य main (String [] args) {WebDriver ड्राइवर = नया InternetExplorerDriver ();Driver.manage ()। window ()। मैक्सिमम ();Driver.get ("http://gmail.com");Driver.quit ();}}
अब इस कोड को एक्लिप्स से चलाएं और कंसोल को देखें।
आउटपुट:
उपरोक्त कोड निष्पादित होने पर यह निम्न त्रुटि करेगा। त्रुटि तब होती है क्योंकि ब्राउज़र ड्राइवर (उपरोक्त मामले में IE) के लिए पथ सेट नहीं है। ब्राउज़र सेलेनियम कोड द्वारा स्थित नहीं हो सकता है।
ड्राइवर के निष्पादन योग्य मार्ग को webdriver.ie.driver सिस्टम प्रॉपर्टी द्वारा सेट किया जाना चाहिए; सूत्र जानकारी, http://code.google.com/p/selenium/wiki/InternetExplorerDriver देखें। नवीनतम संस्करण http://code.google.com/p/selenium/downloads/list से डाउनलोड किया जा सकता है
11 दिसंबर, 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib
चेतावनी: IE चालक शुरू करने की यह विधि पदावनत है और इसे सेलेनियम 2.26 में हटा दिया जाएगा। कृपया http://code.google.com/p/selenium/downloads/list से IEDriverServer.exe डाउनलोड करें और सुनिश्चित करें कि यह आपके PATH में है।
समाधान :
उपरोक्त समस्या का हल त्रुटि के चेतावनी खंड में ही दिया गया है।
- इंटरनेट एक्सप्लोररड्राइवर स्टैंडअलोन सर्वर को 32 बिट या 64 बिट के लिए डाउनलोड करें।
- सिस्टम में ड्राइवर को एक उपयुक्त स्थान पर सहेजें।
- System.setProperty विधि का उपयोग करके ड्राइवर के लिए पथ सेट करें ।
- इसका उपयोग IE ड्राइवर को वेबड्राइवर प्रॉपर्टी के साथ सेट करने के लिए किया जाता है। यह ड्राइवर निष्पादन योग्य फ़ाइल को खोजने में मदद करता है जो सिस्टम स्थान में संग्रहीत है। (पूर्व: "C: \ IEDriverLocation \ IEDriver.exe")
आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.ie.InternetExplorerDriver;आयात org.openqa.selenium.remote.DesiredCapabilities;सार्वजनिक वर्ग IEtestforDesiredCapabilities {सार्वजनिक स्थैतिक शून्य main (String [] args) {// इसका उपयोग IE क्षमता को परिभाषित करने के लिए किया जाता हैDesiredCapabilities क्षमताओं = DesiredCapabilities.internetExplorer ();क्षमताएंक्षमताओं .setCapability (InternetExplorerDriver।INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, सच);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// इसका इस्तेमाल IE ड्राइवर को इनिशियलाइज़ करने के लिए किया जाता हैWebDriver ड्राइवर = नया InternetExplorerDriver (क्षमताएं);Driver.manage ()। window ()। मैक्सिमम ();Driver.get ("http://gmail.com");Driver.quit ();}}
कोड स्पष्टीकरण:
उपरोक्त कोड में,
- आयात विवरण सेलेनियम वेब ड्राइवर के लिए आवश्यक संकुल आयात करना है, इंटरनेट एक्सप्लोरर चालक के लिए आवश्यक संकुल, वांछित क्षमताओं के लिए संकुल।
- setCapability इनपुट चर के रूप में विभिन्न क्षमताओं को लेता है जो तब वांछित वातावरण में एप्लिकेशन को लॉन्च करने के लिए वेब ड्राइवर द्वारा उपयोग किया जाता है।
- setProperty का उपयोग उस पथ को सेट करने के लिए किया जाता है जहां ड्राइवर स्थित है। वेब ड्राइवर तब आवश्यक ड्राइवर का पता लगाता है।
- जीमेल वेबसाइट "गेट" विधि का उपयोग करके इंटरनेट एक्सप्लोरर ब्राउज़र में खोला गया है।
आउटपुट:
इंटरनेट एक्सप्लोरर ब्राउज़र पर परीक्षण का मामला सेलेनियम वेबड्राइवर का उपयोग करके सफलतापूर्वक चलेगा।
निष्कर्ष
वांछित क्षमता वर्ग ब्राउज़र / वातावरण के व्यवहार को परिभाषित करने के लिए एक वातावरण सेट करने में मदद करेगा जिस पर परीक्षण निष्पादित किया जा सकता है।
यह हमारे एप्लिकेशन को वांछित वातावरण में लॉन्च करने में मदद करता है जिसमें वे क्षमताएं हैं जिनका हम उपयोग करना चाहते हैं।
इस लेख में कृतिका रामकुमार का योगदान है