वांछित क्षमताएं Selenium वेबड्राइवर
वांछित क्षमताएं क्या हैं?
वांछित क्षमताएं में एक वर्ग है Selenium वेब अनुप्रयोगों के क्रॉस ब्राउज़र परीक्षण करने के लिए ब्राउज़रों के गुणों को सेट करने के लिए उपयोग किया जाता है। यह क्षमताओं को कुंजी-मूल्य जोड़े के रूप में संग्रहीत करता है और इन क्षमताओं का उपयोग ब्राउज़र के गुणों जैसे ब्राउज़र का नाम, ब्राउज़र संस्करण, सिस्टम में ब्राउज़र ड्राइवर का पथ आदि को सेट करने के लिए किया जाता है ताकि रन टाइम पर ब्राउज़र के व्यवहार को निर्धारित किया जा सके।
- वांछित क्षमता का उपयोग ड्राइवर इंस्टैंस को कॉन्फ़िगर करने के लिए भी किया जा सकता है Selenium वेबड्राइवर.
- हम ड्राइवर इंस्टेंस को इस प्रकार कॉन्फ़िगर कर सकते हैं FirefoxDriver, ChromeDriver, InternetExplorerDriver को वांछित क्षमताओं का उपयोग करके चलाएँ।
हमें वांछित क्षमताओं की आवश्यकता क्यों है?
वांछित क्षमताएं हर किसी की जरूरत है क्योंकि परीक्षण परिदृश्य को कुछ विशिष्ट परीक्षण वातावरण पर निष्पादित किया जाना चाहिए। परीक्षण वातावरण एक वेब ब्राउज़र हो सकता है, मोबाइल डिवाइस, मोबाइल एमुलेटर, मोबाइल सिम्युलेटर, आदि। वांछित क्षमता वर्ग हमें वेबड्राइवर को यह बताने में मदद करता है कि हम अपनी परीक्षण स्क्रिप्ट में किस वातावरण का उपयोग करने जा रहे हैं।
RSI सेटकैपेबिलिटी विधि वांछित क्षमता वर्ग का, जिसे ट्यूटोरियल के बाद के भाग में समझाया गया है, में उपयोग किया जा सकता है Selenium ग्रिड. इसका उपयोग विभिन्न मशीन कॉन्फ़िगरेशन पर समानांतर निष्पादन करने के लिए किया जाता है।
उदाहरण: ग्रिड
इसका उपयोग ब्राउज़र गुण (उदाहरण: क्रोम, IE), प्लेटफ़ॉर्म नाम (उदाहरण: लिनक्स, Windows) जिनका उपयोग परीक्षण मामलों को निष्पादित करते समय किया जाता है।
मोबाइल स्वचालन के मामले में, जब हम विभिन्न प्रकार के मोबाइल उपकरणों पर परीक्षण करते हैं, तो मोबाइल प्लेटफ़ॉर्म (जैसे iOS, Android) प्लेटफ़ॉर्म संस्करण (उदाहरण 3.x,4.x इन Android) जम सकता है।
उपरोक्त एमुलेटर उदाहरण प्लेटफ़ॉर्म सेट को दर्शाता है जो कि एंड्रॉइड है और प्लेटफ़ॉर्म संस्करण सेट जो कि आइसक्रीम सैंडविच (4.x) है।
वांछित क्षमताएं निम्नलिखित मामलों में अधिक उपयोगी होती हैं:
- मोबाइल एप्लिकेशन स्वचालन में, जहां ब्राउज़र गुण और डिवाइस गुण सेट किए जा सकते हैं।
- In Selenium ग्रिड तब काम आता है जब हम परीक्षण मामलों को भिन्न ऑपरेटिंग सिस्टम और संस्करण वाले भिन्न ब्राउज़र पर चलाना चाहते हैं।
वांछित क्षमताओं के प्रकार विधियाँ
यहां हम विभिन्न प्रकार की वांछित क्षमता विधियों को देखेंगे और देखेंगे कि इनमें से किसी एक विधि का उपयोग कैसे किया जाता है “सेटकैपेबिलिटी विधि”।
#१) getBrowserName()
public java.lang.String getBrowserName()
#2) सेटब्राउज़रनाम()
public void setBrowserName(java.lang.String browserName)
#3) getVersion()
public java.lang.String getVersion()
#4) सेटवर्जन()
public void setVersion(java.lang.String version)
#5) getPlatform()
public Platform getPlatform()
#6) सेटप्लेटफॉर्म()
public Platform setPlatform()
#7) getCapability() विधि
DesiredCapabilities वर्ग की getCapability() विधि का उपयोग सिस्टम में वर्तमान में उपयोग में आने वाली क्षमता को प्राप्त करने के लिए किया जा सकता है।
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) setCapability() विधि
RSI setCapability() विधि वांछित क्षमता वर्ग का उपयोग परीक्षण वातावरण की संपत्ति सेट करने के लिए किया जाता है जैसे डिवाइस का नाम, ओएस नाम और संस्करण, ब्राउज़र का नाम और संस्करण, परीक्षण के तहत ऐप का पूर्ण पथ (.apk फ़ाइल) Android परीक्षण के अंतर्गत ऐप), ऐप गतिविधि (में Android) और appPackage(in Java).
“सेटकैपेबिलिटी विधि” in Java निम्नलिखित घोषणाएं हैं:
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
क्षमता सेट करें Selenium उदाहरण
आइए एक उदाहरण पर विचार करें जहां हम अपना चलाना चाहते हैं परीक्षण का मामला इंटरनेट एक्सप्लोरर ब्राउज़र पर www.gmail.com वेबसाइट खोलने के लिए Selenium वेबड्राइवर.
कोड निम्नलिखित है.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IEtestforDesiredCapabilities { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
अब इस कोड को चलाएँ Eclipse और कंसोल की जांच करें.
आउटपुट:
जब उपरोक्त कोड निष्पादित किया जाएगा तो यह निम्न त्रुटि उत्पन्न करेगा। त्रुटि इसलिए होती है क्योंकि ब्राउज़र ड्राइवर (उपर्युक्त मामले में IE) का पथ सेट नहीं किया गया है। सेलेनियम कोड द्वारा ब्राउज़र का पता नहीं लगाया जा सका।
The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.
उपाय:
उपरोक्त समस्या का समाधान त्रुटि के चेतावनी अनुभाग में ही दिया गया है।
- 32बिट या 64बिट के लिए इंटरनेट एक्सप्लोरर ड्राइवर स्टैंडअलोन सर्वर डाउनलोड करें।
- ड्राइवर को सिस्टम में उपयुक्त स्थान पर सहेजें।
- ड्राइवर के लिए पथ निर्धारित करें सिस्टम.सेटप्रॉपर्टी विधि.
- इसका उपयोग IE ड्राइवर को webdriver प्रॉपर्टी के साथ सेट करने के लिए किया जाता है। यह सिस्टम लोकेशन में संग्रहीत ड्राइवर निष्पादन योग्य फ़ाइल का पता लगाने में मदद करता है। (उदाहरण: "C:\IEDriverLocation\IEDriver.exe")
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class IEtestforDesiredCapabilities { public static void main(String[] args) { //it is used to define IE capability DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver. INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe"); //it is used to initialize the IE driver WebDriver driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
कोड स्पष्टीकरण:
उपरोक्त कोड में,
- आयात विवरण का उद्देश्य सेलेनियम वेब ड्राइवर के लिए आवश्यक पैकेज, इंटरनेट एक्सप्लोरर ड्राइवर के लिए आवश्यक पैकेज, तथा वांछित क्षमताओं के लिए पैकेज आयात करना है।
- setCapability विभिन्न क्षमताओं को इनपुट चर के रूप में लेता है, जिनका उपयोग वेब ड्राइवर द्वारा वांछित वातावरण में अनुप्रयोग को लॉन्च करने के लिए किया जाता है।
- setProperty का उपयोग उस पथ को सेट करने के लिए किया जाता है जहाँ ड्राइवर स्थित है। वेब ड्राइवर फिर आवश्यक ड्राइवर का पता लगाता है।
- जीमेल वेबसाइट को इंटरनेट एक्सप्लोरर ब्राउज़र में “गेट” विधि का उपयोग करके खोला जाता है।
आउटपुट:
इंटरनेट एक्सप्लोरर ब्राउज़र पर परीक्षण केस सफलतापूर्वक चलेगा Selenium वेबड्राइवर.
निष्कर्ष
वांछित क्षमता वर्ग ब्राउज़र/पर्यावरण के व्यवहार को परिभाषित करने के लिए एक वातावरण निर्धारित करने में मदद करेगा जिस पर परीक्षण निष्पादित किया जा सकता है।
यह हमारे एप्लिकेशन को वांछित वातावरण में लॉन्च करने में मदद करता है जिसमें वे क्षमताएं होती हैं जिनका हम उपयोग करना चाहते हैं।