सेलेनियम वेबड्राइवर में XPath द्वारा तत्व और फाइंडलाइज खोजें

विषय - सूची:

Anonim

आपको एलीमेंट / कमांड की आवश्यकता क्यों है?

एक वेब पेज के साथ सहभागिता के लिए वेब तत्व का पता लगाने के लिए एक उपयोगकर्ता की आवश्यकता होती है। ढूँढें तत्व कमांड का उपयोग वेब पेज के भीतर (एक) वेब तत्व को विशिष्ट रूप से पहचानने के लिए किया जाता है। जबकि, वेब पेज के भीतर वेब तत्वों की सूची को विशिष्ट रूप से पहचानने के लिए फाइंड एलिमेंट्स कमांड का उपयोग किया जाता है। वेब पेज जैसे आईडी, नाम, वर्ग नाम, लिंक पाठ, आंशिक लिंक पाठ, टैग नाम और XPATH के भीतर एक वेब तत्व को विशिष्ट रूप से पहचानने के कई तरीके हैं।

FindElement कमांड सिंटैक्स:

सेलेनियम ढूँढें तत्व कमांड पैरामीटर के रूप में बाय ऑब्जेक्ट में ले जाता है और सेलेनियम में टाइप सूची WebElement की एक वस्तु देता है। बदले में ऑब्जेक्ट को विभिन्न लोकेटर रणनीतियों के साथ उपयोग किया जा सकता है जैसे कि आईडी सेलेनियम, नाम, वर्ग नाम, एक्सपीएटीएच द्वारा तत्व खोजें नीचे सेलेनियम वेब ड्राइवर में फाइंडमेंट कमांड का सिंटैक्स है।

WebElement elementName = driver.findElement (By.LocatorStrategy ("लोकेटरवैल्यू"));

लोकेटर रणनीति निम्नलिखित मूल्यों में से कोई भी हो सकती है।

  • ईद
  • सेलेनियम नाम से तत्व पाते हैं
  • कक्षा का नाम
  • टैग नाम
  • लिंक पाठ
  • आंशिक लिंक पाठ
  • XPATH

लोकेटर मान वह अद्वितीय मान है जिसके उपयोग से वेब तत्व की पहचान की जा सकती है। यह सुनिश्चित करने के लिए डेवलपर्स और परीक्षकों की जिम्मेदारी है कि आईडी या नाम जैसे कुछ गुणों का उपयोग करके वेब तत्व विशिष्ट रूप से पहचाने जाने योग्य हैं।

उदाहरण:

WebElement loginLink = driver.findElement (By.linkText ("लॉगिन"));

FindElements कमांड सिंटैक्स:

सेलेनियम कमांड में FindElements पैरामीटर के रूप में ऑब्जेक्ट में लेता है और वेब तत्वों की एक सूची देता है। यदि दी गई लोकेटर रणनीति और लोकेटर मान का उपयोग करते हुए कोई तत्व नहीं मिले तो यह एक खाली सूची देता है। नीचे तत्व तत्वों को खोजने के लिए वाक्य रचना है।

सूची  elementName = driver.findElements (By.LocatorStrategy ("लोकेटरवैल्यू"));

उदाहरण:

सूची  listOfElements = driver.findElements (By.xpath ("// div"));

तत्व खोजें बनाम तत्व खोजें

नीचे तत्व खोजने और तत्व कमांड के बीच प्रमुख अंतर हैं।

सेलेनियम में तत्व बनाम तत्व खोजें
तत्व खोजें तत्वों का पता लगाएं
यदि एक ही लोकेटर के साथ कई वेब तत्व मिलते हैं तो पहला सबसे वेब तत्व लौटाता है वेब तत्वों की सूची लौटाता है
लोकेटर रणनीति का मिलान करने वाले तत्व नहीं होने पर अपवाद NoSuchElementException को फेंकता है यदि कोई वेब तत्व लोकेटर रणनीति से मेल खाते हैं तो एक खाली सूची देता है
XPath द्वारा तत्व खोजें केवल एक वेब तत्व मिलेगा इसमें उन तत्वों का एक संग्रह मिलेगा, जो लोकेटर रणनीति से मेल खाते हैं।
लागू नहीं प्रत्येक वेब तत्व को एक सरणी की तरह 0 से शुरू होने वाली संख्या के साथ अनुक्रमित किया जाता है

उदाहरण: फाइंड एलिमेंट कमांड का उपयोग कैसे करें

निम्नलिखित एप्लिकेशन का उपयोग डेमो उद्देश्य के लिए किया जाता है

http://demo.guru99.com/test/ajax.html

परिदृश्य:

1. AUT खोलें

2. रेडियो बटन ढूंढें और क्लिक करें

पैकेज com.sample.stepdefinitions;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.chrome.ChromeDriver;पब्लिक क्लास नेमडेमो {सार्वजनिक स्थैतिक शून्य main (String [] args) {// TODO ऑटो-जनरेट विधि ठूंठSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");WebDriver ड्राइवर = नया ChromeDriver ();Driver.manage ()। window ()। मैक्सिमम ();Driver.get ("http://demo.guru99.com/test/ajax.html");// अपनी आईडी का उपयोग करके "नहीं" के लिए रेडियो बटन ढूंढें और उस पर क्लिक करेंDriver.findElement (By.id ("नहीं"))। क्लिक करें ();// चेक बटन पर क्लिक करेंDriver.findElement (By.id ("buttoncheck"))। क्लिक करें ();}}

उदाहरण: फाइंड एलिमेंट्स कमांड का उपयोग कैसे करें

परिदृश्य:

1. एप्लिकेशन अंडर टेस्ट के लिए URL खोलें

2. रेडियो बटन का पाठ ढूंढें और इसे आउटपुट कंसोल पर प्रिंट करें

पैकेज com.sample.stepdefinitions;आयात java.util.ist;आयात org.openqa.selenium.By;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.WebElement;आयात org.openqa.selenium.chrome.ChromeDriver;पब्लिक क्लास नेमडेमो {सार्वजनिक स्थैतिक शून्य main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");WebDriver ड्राइवर = नया ChromeDriver ();Driver.get ("http://demo.guru99.com/test/ajax.html");सूची  तत्व = driver.findElements (By.name ("नाम"));System.out.println ("तत्वों की संख्या: + elements.size ());for (int i = 0; मैं 

सारांश:

  • ढूँढें तत्व कमांड वेब तत्व को लौटाता है जो वेब पेज के पहले सबसे तत्व से मेल खाता है।
  • एलीमेंट्स कमांड खोजें उन वेब तत्वों की सूची देता है जो मापदंड से मेल खाते हैं।
  • सेलेनियम कमांड में XPath द्वारा तत्व खोजें NoSuchElementException को फेंकता है यदि यह मापदंड से मेल खाते तत्व को नहीं ढूंढता है।
  • एलिमेंट्स कमांड सेलेनियम में एक खाली सूची देता है यदि मापदंड से मेल खाने वाले तत्व नहीं हैं