पिछले ट्यूटोरियल में बनाए गए जावा क्लास "मायक्लास" का उपयोग करते हुए, आइए हम एक वेबड्राइवर स्क्रिप्ट बनाने की कोशिश करें जो कि होगी:
- बुध टूर्स का होमपेज
- इसका शीर्षक सत्यापित करें
- तुलना के परिणाम का प्रिंट आउट लें
- पूरे कार्यक्रम को समाप्त करने से पहले इसे बंद करें।
वेबड्राइवर कोड
नीचे दिए गए परिदृश्य द्वारा प्रस्तुत तर्क के लिए वास्तविक वेबड्राइवर कोड है
नोट: फ़ायरफ़ॉक्स 35 शुरू करने के लिए, आपको वेब चालक का उपयोग करने के लिए मोज़िला द्वारा निर्मित जेको ड्राइवर का उपयोग करना होगा। सेलेनियम 3.0, गेको और फ़ायरफ़ॉक्स में संगतता समस्याएं हैं और उन्हें सही ढंग से सेट करना एक कठिन कार्य बन सकता है। यदि कोड काम नहीं करता है, तो फ़ायरफ़ॉक्स संस्करण 47 या उससे नीचे डाउनग्रेड करें। वैकल्पिक रूप से, आप Chrome पर अपनी स्क्रिप्ट चला सकते हैं। सेलेनियम क्रोम के लिए बॉक्स से बाहर काम करता है। क्रोम या फ़ायरफ़ॉक्स के साथ अपनी स्क्रिप्ट बनाने के लिए आपको कोड की 3 लाइनों को बदलना होगा
पैकेज न्यूप्रोजेक्ट;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;// ऊपर दी गई लाइन पर टिप्पणी करें और क्रोम का उपयोग करने के लिए लाइन के नीचे की असुविधा// import org.openqa.selenium.chrome.ChromeDriver;पब्लिक क्लास PG1 {सार्वजनिक स्थैतिक शून्य main (String [] args) {// वस्तुओं / चर की घोषणा और तात्कालिकताSystem.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver ड्राइवर = नया FirefoxDriver ();// ऊपर की 2 पंक्तियों पर टिप्पणी करें और Chrome का उपयोग करने के लिए 2 पंक्तियों के नीचे की असहजता//System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe ");// वेबड्राइवर ड्राइवर = नया क्रोमड्राइवर ();स्ट्रिंग आधार = "http://demo.guru99.com/test/newtours/";स्ट्रिंग प्रत्याशित = "वेलकम: मर्करी टूर्स";स्ट्रिंग वास्तविकता = "";// अग्नि लोमड़ी लॉन्च करें और इसे बेस URL पर निर्देशित करेंDriver.get (baseUrl);// शीर्षक का वास्तविक मूल्य प्राप्त करेंrealTitle = driver.getTitle ();/ ** अपेक्षित शीर्षक और प्रिंट के साथ पृष्ठ के वास्तविक शीर्षक की तुलना करें* "उत्तीर्ण" या "असफल" के रूप में परिणाम* /अगर (वास्तविक शीर्षकSystem.out.println ("टेस्ट उत्तीर्ण!");} अन्य {System.out.println ("परीक्षण विफल");}// बंद आग लोमड़ीDriver.close ();}}
कोड की व्याख्या करना
आयात करने वाले पैकेज
आरंभ करने के लिए, आपको निम्नलिखित दो पैकेजों का आयात करना होगा:
- org.openqa.selenium। * - एक विशिष्ट ड्राइवर के साथ लोड किए गए एक नए ब्राउज़र को तुरंत हटाने के लिए आवश्यक WebDriver वर्ग शामिल है ।
- org.openqa.selenium.firefox.FirefoxDriver - वेबड्राइवर वर्ग द्वारा तत्काल ब्राउजर पर फ़ायरफ़ॉक्स-विशिष्ट ड्राइवर को तत्काल करने के लिए फ़ायरफ़ॉक्सड्राइवर वर्ग की आवश्यकता होती है।
यदि आपके परीक्षण में अधिक जटिल क्रियाओं की आवश्यकता होती है जैसे कि किसी अन्य वर्ग तक पहुंचना, ब्राउज़र स्क्रीनशॉट लेना या बाहरी फ़ाइलों में हेरफेर करना, निश्चित रूप से आपको अन्य पैकेज आयात करने की आवश्यकता होगी।
वस्तुओं और चर को त्वरित करना
आम तौर पर, यह है कि कैसे एक चालक वस्तु को तत्काल किया जाता है।
फ़ायरफ़ॉक्सड्राइवर वर्ग जिसमें कोई पैरामीटर नहीं है, इसका मतलब है कि डिफ़ॉल्ट फ़ायरफ़ॉक्स प्रोफाइल हमारे जावा प्रोग्राम द्वारा लॉन्च किया जाएगा। डिफ़ॉल्ट फ़ायरफ़ॉक्स प्रोफ़ाइल फ़ायरफ़ॉक्स को सुरक्षित मोड में लॉन्च करने के समान है (कोई एक्सटेंशन लोड नहीं हैं)।
सुविधा के लिए, हमने बेस URL और अपेक्षित शीर्षक को चर के रूप में सहेजा है।
एक ब्राउज़र सत्र शुरू करना
WebDriver का get () विधि एक नया ब्राउज़र सत्र लॉन्च करने के लिए उपयोग किया जाता है और इसे उस URL पर निर्देशित करता है जिसे आप इसके पैरामीटर के रूप में निर्दिष्ट करते हैं।
वास्तविक पृष्ठ शीर्षक प्राप्त करें
WebDriver वर्ग में गेटटाइल () विधि है जो हमेशा वर्तमान में लोड किए गए पृष्ठ के पृष्ठ शीर्षक को प्राप्त करने के लिए उपयोग की जाती है।
अपेक्षित और वास्तविक मूल्यों की तुलना करें
कोड का यह हिस्सा केवल एक मूल जावा का उपयोग करता है अगर-की संरचना वास्तविक शीर्षक की अपेक्षा के साथ तुलना करने के लिए।
ब्राउज़र सत्र समाप्त करना
ब्राउज़र विंडो को बंद करने के लिए " क्लोज़ () " विधि का उपयोग किया जाता है।
संपूर्ण कार्यक्रम को समाप्त करना
यदि आप सभी ब्राउज़र विंडो को बंद किए बिना इस कमांड का उपयोग करते हैं, तो ब्राउज़र विंडो को खुला छोड़ते समय आपका पूरा जावा प्रोग्राम समाप्त हो जाएगा।
टेस्ट चल रहा है
ग्रहण आईडीई में कोड निष्पादित करने के दो तरीके हैं।
- ग्रहण के मेनू बार पर, रन> रन पर क्लिक करें ।
- प्रेस Ctrl + F11 पूरे कोड को चलाने के लिए।
यदि आपने सब कुछ सही ढंग से किया, तो ग्रहण "टेस्ट पास" होगा!
जीयूआई तत्वों का पता लगाना
WebDriver में एलिमेंटिंग तत्वों को " findElement (By। Locator ()) " विधि का उपयोग करके किया जाता है । कोड का "लोकेटर" भाग वैसा ही है जैसा कि पहले इन ट्यूटोरियल के सेलेनियम आईडीई अध्यायों में चर्चा की गई थी। वास्तव में, यह अनुशंसा की जाती है कि आप IDE का उपयोग करके GUI तत्वों का पता लगाएं और एक बार सफलतापूर्वक पहचानने के बाद कोड को WebDriver में निर्यात करें।
यहां एक सेलेनियम नमूना कोड है जो किसी तत्व को उसकी आईडी द्वारा पता लगाता है। फेसबुक का उपयोग आधार URL के रूप में किया जाता है।
पैकेज न्यूप्रोजेक्ट;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;पब्लिक क्लास PG2 {सार्वजनिक स्थैतिक शून्य main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver ड्राइवर = नया FirefoxDriver ();स्ट्रिंग आधार = "http://www.facebook.com";स्ट्रिंग टैगनाम = "";Driver.get (baseUrl);tagName = driver.findElement (By.id ("ईमेल"))। getTagName ();System.out.println (tagName);Driver.close ();System.exit (0);}}
हमने उस विशेष तत्व के टैग नाम को निकालने के लिए getTagName () विधि का उपयोग किया जिसका आईडी "ईमेल" है। जब चलाया जाता है, तो यह कोड टैग नाम "इनपुट" की सही पहचान करने में सक्षम होना चाहिए और इसे ग्रहण की कंसोल विंडो पर प्रिंट करेगा।
तत्वों का पता लगाने के लिए सारांश
परिवर्तन | विवरण | नमूना |
---|---|---|
द्वारा। कक्षा का नाम | "वर्ग" विशेषता के मूल्य के आधार पर तत्वों को पाता है | खोज |
द्वारा। CssSelector | ड्राइवर के अंतर्निहित CSS चयनकर्ता इंजन के आधार पर तत्वों को पाता है | findElement (By.cssSelector ("इनपुट # ईमेल")) |
द्वारा। ईद | तत्वों को उनके "आईडी" विशेषता के मूल्य से पता चलता है | खोज |
द्वारा। लिंक पाठ | प्रदर्शित सटीक पाठ द्वारा एक लिंक तत्व पाता है | खोज |
द्वारा। नाम | "नाम" विशेषता के मान से तत्वों का पता लगाता है | खोज |
द्वारा। partLinkText | उन तत्वों को खोजता है, जिनमें दिए गए लिंक टेक्स्ट हैं | खोज |
द्वारा। टैग नाम | तत्वों को उनके टैग नाम से पता चलता है | खोज |
द्वारा। xpath | XPath के माध्यम से तत्वों का पता लगाता है | findElement (By.xpath ("// html / body / div / table / tbody / tr / td [2] / table / tbody / tr [4] / td / table / tbody / tr / td [2] / table / tbody / tr [2] / td [3] / फॉर्म / टेबल / tbody / tr [5] ")) |
FindElement (By.cssSelector ()) का उपयोग करने पर ध्यान दें
By.cssSelector () "समाहित" सुविधा का समर्थन नहीं करता है । नीचे सेलेनियम आईडीई कोड पर विचार करें -
ऊपर सेलेनियम आईडीई में, पूरा परीक्षण पास हुआ। हालाँकि, नीचे सेलेनियम वेबड्राइवर स्क्रिप्ट में, उसी टेस्ट ने एक त्रुटि उत्पन्न की क्योंकि वेबड्राइवर By.csselector () विधि में उपयोग किए जाने पर "समाहित" कीवर्ड का समर्थन नहीं करता है।
कॉमन कमांड्स
वेब तत्वों को त्वरित करना
हर बार जब आप किसी विशेष तत्व को एक्सेस करेंगे, तो लंबे समय तक "driver.findElement (By.locator ())" सिंटैक्स का उपयोग करने के बजाय, हम इसके लिए एक WebElement ऑब्जेक्ट को तुरंत कर सकते हैं। WebElement वर्ग "org.openqa.selenium। *" पैकेज में निहित है।
एक तत्व पर क्लिक करना
क्लिक करना शायद वेब तत्वों के साथ बातचीत करने का सबसे आम तरीका है । किसी भी तत्व के क्लिक को अनुकरण करने के लिए क्लिक () विधि का उपयोग किया जाता है। निम्नलिखित सेलेनियम जावा उदाहरण दिखाता है कि बुध टूर्स के "साइन-इन" बटन पर क्लिक करने के लिए कैसे () का उपयोग किया गया था।
क्लिक () विधि का उपयोग करते समय निम्नलिखित बातों पर ध्यान दिया जाना चाहिए।
- यह कोई पैरामीटर / तर्क नहीं लेता है।
- यदि लागू हो तो लोड करने के लिए विधि स्वचालित रूप से एक नए पृष्ठ की प्रतीक्षा करती है ।
- क्लिक किया जाने वाला तत्व, दृश्यमान होना चाहिए (ऊँचाई और चौड़ाई शून्य के बराबर नहीं होनी चाहिए)।
आज्ञा पाओ
आदेश पृष्ठ / तत्व के बारे में विभिन्न महत्वपूर्ण जानकारी प्राप्त करें। यहां कुछ महत्वपूर्ण "प्राप्त" कमांड हैं जिनसे आपको परिचित होना चाहिए।
आदेश | प्रयोग |
---|---|
प्राप्त () नमूना उपयोग: |
|
getTitle () नमूना उपयोग: |
|
getPageSource () नमूना उपयोग: |
|
getCurrentUrl () नमूना उपयोग: |
|
getText () नमूना उपयोग: |
|
कमांड नेविगेट करें
ये कमांड आपको अलग-अलग वेब पेजों के बीच रिफ्रेश, गो-इन और स्विच करने की अनुमति देते हैं।
नेविगेट ()। () नमूना उपयोग: |
|
नेविगेट करें () ताज़ा करें () नमूना उपयोग: |
|
नेविगेट करें ()। पीछे () नमूना उपयोग: |
|
नेविगेट करें ()। आगे () नमूना उपयोग: |
|
ब्राउज़र विंडोज को बंद करना और छोड़ना
करीब () नमूना उपयोग: |
|
छोड़ो () नमूना उपयोग: |
|
पास और (और छोड़ें) के अंतर को स्पष्ट रूप से समझाने के लिए, नीचे दिए गए कोड को निष्पादित करने का प्रयास करें। यह एक वेबपेज का उपयोग करता है जो पेज लोड होने पर एक विंडो को स्वचालित रूप से पॉप अप करता है और बाहर निकलने के बाद दूसरे को खोलता है।
ध्यान दें कि केवल मूल ब्राउज़र विंडो बंद थी और दो पॉप-अप विंडो नहीं थी।
लेकिन अगर आप छोड़ें () का उपयोग करते हैं, तो सभी खिड़कियां बंद हो जाएंगी - न कि केवल माता-पिता की। नीचे दिए गए कोड को चलाने का प्रयास करें और आप देखेंगे कि ऊपर के दो पॉप-अप अपने आप बंद हो जाएंगे।
पैकेज न्यूप्रोजेक्ट;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;पब्लिक क्लास PG3 {सार्वजनिक स्थैतिक शून्य main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver ड्राइवर = नया FirefoxDriver ();Driver.get ("http://www.popuptest.com/popuptest2.html");Driver.quit (); // QUIT के उपयोग से सभी विंडो बंद हो जाएगी}}
फ्रेम्स के बीच स्विच करना
किसी फ़्रेम में GUI तत्वों को एक्सेस करने के लिए, हमें पहले WebDriver को फ़्रेम या पॉप-अप विंडो पर ध्यान केंद्रित करना चाहिए, इससे पहले कि हम उनके भीतर तत्वों को एक्सेस कर सकें। उदाहरण के लिए, वेब पेज http://demo.guru99.com/selenium/deprecated.html लें
इस पृष्ठ में 3 फ़्रेम हैं जिनके "नाम" विशेषताएँ ऊपर इंगित की गई हैं। हम "डिप्रेकेटेड" लिंक को पीले रंग में घेरना चाहते हैं। ऐसा करने के लिए, हमें पहले WebDriver को "switchTo ()। फ्रेम ()" विधि का उपयोग करके "classFrame" फ्रेम में स्विच करने का निर्देश देना चाहिए । हम फ्रेम के नाम विशेषता का उपयोग "फ्रेम ()" भाग के पैरामीटर के रूप में करेंगे।
पैकेज न्यूप्रोजेक्ट;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;पब्लिक क्लास PG4 {सार्वजनिक स्थैतिक शून्य main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver ड्राइवर = नया FirefoxDriver ();Driver.get ("http://demo.guru99.com/selenium/deprecated.html");Driver.switchTo ()। फ़्रेम ("क्लासफ़्रेम");ड्राइवर।Driver.close ();}}
इस कोड को निष्पादित करने के बाद, आप देखेंगे कि "classFrame" फ़्रेम को "डिप्रेस्ड एपीआई" पृष्ठ पर ले जाया गया है, जिसका अर्थ है कि हमारा कोड "डिप्रेकेटेड" लिंक तक पहुंचने में सफल रहा।
पॉप-अप विंडोज के बीच स्विच करना
वेबड्राइवर सेलेनियम आईडीई के विपरीत, पॉप-अप विंडो जैसे अलर्ट प्रदर्शित करने की अनुमति देता है। एलर्ट के भीतर तत्वों को एक्सेस करने के लिए (जैसे कि इसमें जो संदेश है), हमें "स्विचटॉ ()। अलर्ट ()" विधि का उपयोग करना चाहिए । नीचे दिए गए कोड में, हम अलर्ट बॉक्स तक पहुंचने के लिए इस विधि का उपयोग करेंगे और फिर "getText ()" विधि का उपयोग करके इसके संदेश को पुनः प्राप्त करेंगे , और फिर स्वचालित रूप से "switchTo () (अलर्ट) () () स्वीकार करते हुए चेतावनी बॉक्स को बंद कर देंगे। ” विधि।
सबसे पहले, http://jsbin.com/usidix/1 पर जाएं और मैन्युअल रूप से "गो!" पर क्लिक करें। वहाँ बटन और अपने आप को संदेश पाठ देखें।
ऐसा करने के लिए सेलेनियम का उदाहरण कोड देखें-
पैकेज mypackage;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;पब्लिक क्लास मायक्लास {सार्वजनिक स्थैतिक शून्य main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");WebDriver ड्राइवर = नया FirefoxDriver ();स्ट्रिंग अलर्टमैसेज = "";Driver.get ("http://jsbin.com/usidix/1");Driver.findElement (By.cssSelector ("इनपुट [मान = \" गो! \ "]")) क्लिक करें ();सतर्कताDriver.switchTo ()। alert ()। Accept ();System.out.println (alertMessage);Driver.quit ();}}
ग्रहण कंसोल पर, ध्यान दें कि मुद्रित अलर्ट संदेश है:
वेट्स
इंतजार दो तरह का होता है।
- अंतर्निहित प्रतीक्षा - पूरे कार्यक्रम में डिफ़ॉल्ट प्रतीक्षा समय सेट करने के लिए उपयोग किया जाता है
- स्पष्ट प्रतीक्षा - केवल किसी विशेष उदाहरण के लिए प्रतीक्षा समय निर्धारित करने के लिए उपयोग किया जाता है
निहित प्रतीक्षा करें
- स्पष्ट प्रतीक्षा की तुलना में इसे कोड करना सरल है।
- यह आमतौर पर कोड के तात्कालिक भाग में घोषित किया जाता है।
- आयात करने के लिए आपको केवल एक अतिरिक्त पैकेज की आवश्यकता होगी।
निहित प्रतीक्षा का उपयोग शुरू करने के लिए, आपको इस पैकेज को अपने कोड में आयात करना होगा।
फिर अपने कोड के तात्कालिक भाग पर, इसे जोड़ें।
स्पष्ट प्रतीक्षा करें
WebDriverWait और ExpectedCondition classes का उपयोग करके स्पष्ट प्रतीक्षा की जाती है । निम्नलिखित सेलेनियम वेबड्राइवर उदाहरण के लिए, हम एक तत्व के लिए 10 सेकंड तक प्रतीक्षा करेंगे, जिसकी आईडी अगले कमांड पर आगे बढ़ने से पहले "उपयोगकर्ता नाम" दिखाई देगी। यहाँ कदम हैं।
चरण 1
इन दो पैकेजों को आयात करें:
चरण 2
एक WebDriverWait चर घोषित करें। इस उदाहरण में, हम "myWaitVar" को चर के नाम के रूप में उपयोग करेंगे।
चरण 3
MyWaitVar का प्रयोग उन भागों पर ExpectedConditions के साथ करें जहाँ आपको स्पष्ट प्रतीक्षा होने की आवश्यकता है। इस मामले में, हम पाठ "ट्यूटोरियल" टाइप करने से पहले हम "उपयोगकर्ता नाम" (पारा टूर्स होमपेज) इनपुट पर स्पष्ट प्रतीक्षा का उपयोग करेंगे।
शर्तेँ
सशर्त और लूप संचालन में निम्नलिखित विधियों का उपयोग किया जाता है -
- isEnabled () का उपयोग तब किया जाता है जब आप यह सत्यापित करना चाहते हैं कि एक निश्चित तत्व सक्षम है या नहीं, एक कमांड निष्पादित करने से पहले।
- isDplayplay () का उपयोग तब किया जाता है जब आप यह सत्यापित करना चाहते हैं कि एक निश्चित तत्व प्रदर्शित किया गया है या नहीं।
- isSelected () का उपयोग तब किया जाता है जब आप यह सत्यापित करना चाहते हैं कि ड्रॉप-डाउन बॉक्स में एक निश्चित चेक बॉक्स, रेडियो बटन या विकल्प का चयन किया गया है या नहीं। यह अन्य तत्वों पर काम नहीं करता है।
ExpectedConditions का उपयोग करना
ExpectedConditions वर्ग उन शर्तों का एक व्यापक सेट प्रदान करता है, जिनका उपयोग आप WebDriverWait के समथिंग () विधि के साथ कर सकते हैं।
नीचे कुछ सबसे आम ExpectedConditions तरीकों के बारे में बताया गया है।
- alertIsPresent () - अलर्ट बॉक्स प्रदर्शित होने तक प्रतीक्षा करता है।
- elementToBeClickable () - तब तक प्रतीक्षा करता है जब तक कि कोई तत्व दिखाई न दे और, उसी समय, सक्षम हो। नीचे दिए गए सेलेनियम कोड का नमूना तब तक इंतजार करेगा जब तक तत्व उस तत्व को वेबटेबल चर के रूप में "txtUserName" नाम देने से पहले सक्षम हो जाएगा।
- FrameToBeAvailableAndSwitchToIt () - तब तक प्रतीक्षा करता है जब तक कि दिया गया फ्रेम पहले से उपलब्ध नहीं है, और फिर स्वचालित रूप से उस पर स्विच हो जाता है।
पकड़ने के अपवाद
जब उपयोग किया जाता है (अक्षम), isDisplayed (), और isSelected (), WebDriver मानता है कि तत्व पहले से ही पृष्ठ पर मौजूद है। अन्यथा, यह एक NoSuchElementException को फेंक देगा । इससे बचने के लिए, हमें एक कोशिश करने वाले ब्लॉक का उपयोग करना चाहिए ताकि कार्यक्रम बाधित न हो।
WebElement txtbox_username = driver.findElement (By.id ("उपयोगकर्ता नाम"));प्रयत्न{अगर (txtbox_username.isEnabled ()) {txtbox_username.sendKeys ("ट्यूटोरियल");}}पकड़ (NoSuchElementException nsee) {System.out.println (nsee.toString ());}
यदि आप स्पष्ट प्रतीक्षा का उपयोग करते हैं, तो आपको जिस अपवाद को पकड़ना चाहिए, वह है "टाइमआउटException"।
सारांश
- WebDriver API का उपयोग शुरू करने के लिए, आपको कम से कम इन दो पैकेजों को आयात करना होगा।
- org.openqa.selenium। *
- org.openqa.selenium.firefox.FirefoxDriver
- प्राप्त () विधि सेलेनियम आईडीई के "खुले" आदेश के बराबर है।
- WebDriver में तत्वों का पता लगाना FindElement () विधि का उपयोग करके किया जाता है ।
- वेबड्राइवर में तत्वों का पता लगाने के लिए निम्नलिखित विकल्प उपलब्ध हैं:
- द्वारा। कक्षा का नाम
- द्वारा। CssSelector
- द्वारा। ईद
- द्वारा। लिंक पाठ
- द्वारा। नाम
- द्वारा। partLinkText
- द्वारा। टैग नाम
- द्वारा। xpath
- By.cssSelector () "समाहित" सुविधा का समर्थन नहीं करता है ।
- आप WebElement वर्ग का उपयोग करके किसी तत्व को तुरंत कर सकते हैं ।
- किसी तत्व पर क्लिक () विधि का उपयोग करके किया जाता है ।
- WebDriver इन उपयोगी आदेश प्रदान करता है :
- प्राप्त()
- GetTitle ()
- getPageSource ()
- getCurrentUrl ()
- GetText ()
- WebDriver इन उपयोगी नेविगेशन कमांड प्रदान करता है
- नेविगेट () आगे ()
- नेविगेट करें ()। पीछे ()
- पर जाए()
- नेविगेट करें () ताज़ा करें ()
- ब्राउज़र विंडो बंद करने के लिए क्लोज़ () और छोड़ () विधियों का उपयोग किया जाता है। बंद () का उपयोग सिंगल विंडो को बंद करने के लिए किया जाता है; जबकि छोड़ दिया जाता है () का उपयोग मूल विंडो से जुड़ी सभी विंडो को बंद करने के लिए किया जाता है जिसे वेबड्राइवर ऑब्जेक्ट नियंत्रित कर रहा था।
- SwitchTo ()। फ्रेम () और switchTo ()। चेतावनी () तरीके प्रत्यक्ष WebDriver का ध्यान करने के लिए एक फ्रेम या चेतावनी पर क्रमश: उपयोग किया जाता है।
- पूरे कार्यक्रम में प्रतीक्षा समय निर्धारित करने के लिए इंप्लाट वेट का उपयोग किया जाता है, जबकि स्पष्ट वेट का उपयोग केवल विशिष्ट भागों पर किया जाता है।
- जब आप किसी तत्व की स्थिति का सत्यापन करते हैं , तो आप isEnabled (), isDisplayed (), isSelected (), और WebDriverWait और ExpectedConditions के संयोजन का उपयोग कर सकते हैं । हालांकि, वे सत्यापित नहीं करते हैं कि तत्व मौजूद नहीं है।
- जब IsEnabled (), isDisplayed (), या isSelected () कहा जाता था, जबकि तत्व मौजूद नहीं था, WebDriver एक NoSuchElementException को फेंक देगा ।
- जब WebDriverWait और ExpectedConditions विधियां मौजूद थीं, जबकि तत्व मौजूद नहीं था, तो WebDriver एक TimeoutException को फेंक देगा ।
ध्यान दें:
Driver.get (): इसका उपयोग विशेष वेबसाइट पर जाने के लिए किया जाता है, लेकिन यह ब्राउज़र इतिहास और कुकीज़ को बनाए नहीं रखता है, इसलिए हम आगे और पीछे बटन का उपयोग नहीं कर सकते हैं, अगर हम उस पर क्लिक करते हैं, तो पृष्ठ को शेड्यूल नहीं मिलेगा
Driver.navigate (): इसका उपयोग विशेष वेबसाइट पर जाने के लिए किया जाता है, लेकिन यह ब्राउज़र इतिहास और कुकीज़ को बनाए रखता है, इसलिए हम टेस्टिंग कोडिंग के दौरान पृष्ठों के बीच नेविगेट करने के लिए आगे और पीछे बटन का उपयोग कर सकते हैं।