Keresse meg az Element és a FindElements elemeket XPath segítségével a Selenium WebDriver programban

Tartalomjegyzék:

Anonim

Miért van szükség az Element / s parancsra?

A weboldallal való interakcióhoz a felhasználónak meg kell találnia a webelemet. Az Elem keresése paranccsal egyedileg azonosíthat egy (egy) webelementet a weboldalon. Míg a Elemek keresése paranccsal egyedileg azonosítható a weboldalon található webes elemek listája. A weblapon belüli webelemek egyedi azonosítására többféle módszer létezik, például azonosító, név, osztálynév, linkszöveg, részleges linkszöveg, címke neve és XPATH.

FindElement parancs szintaxisa:

A Selenium Find Element parancs a By objektumot veszi be paraméterként, és a WebElement típusú objektumot adja vissza a Seleniumban. Objektumonként viszont különféle lokátorstratégiákkal lehet használni, mint például az elem keresése ID Selenium, Name, Class Name, XPATH stb. Alapján. Az alábbiakban található a FindElement parancs szintaxisa a Selenium webillesztőben.

WebElement elemNév = driver.findElement (By.LocatorStrategy ("LocatorValue"));

A lokátor stratégia a következő értékek bármelyike ​​lehet.

  • ID
  • A szelénkereső elem neve szerint
  • Osztály név
  • Címke neve
  • Link szöveg
  • Részleges link szövege
  • XPATH

A lokátorérték az az egyedi érték, amelynek segítségével egy webelem azonosítható. A fejlesztők és a tesztelők felelőssége annak biztosítása, hogy a webes elemek egyedi tulajdonságokkal, például azonosítóval vagy névvel egyedileg azonosíthatók legyenek.

Példa:

WebElement loginLink = driver.findElement (By.linkText ("Bejelentkezés"));

A FindElements parancs szintaxisa:

A FindElements in Selenium parancs az Objektum szerint paramétert veszi fel, és visszaadja a webes elemek listáját. Üres listát ad vissza, ha nem találhatók elemek a megadott lokátor stratégiával és lokátor értékkel. Az alábbiakban található a find elements szintaxisa parancs.

Sorolja fel a  elemNév = driver.findElements (By.LocatorStrategy ("LocatorValue")) listát;

Példa:

List  listOfElements = driver.findElements (By.xpath ("// div"));

Keresse meg az elemet Vs Keresse meg az elemeket

Az alábbiakban bemutatjuk a legfontosabb elemeket a find element és a find elements parancsok között.

Keressen elemeket Vs Keressen elemeket a szelénben
Keresse meg az Element elemet Keresse meg az Elements elemet
Visszaadja az első legtöbb webes elemet, ha több webelem található ugyanazzal a lokátorral Visszaadja a webes elemek listáját
A NoSuchElementException kivételt dobja el, ha a lokátor stratégiának nincsenek elemei Üres listát ad vissza, ha nincsenek a lokátor stratégiának megfelelő webelemek
Az elem keresése az XPath által csak egy webelemet fog találni Megtalálja az elemek gyűjteményét, amelyek megfelelnek a lokátor stratégiának.
Nem alkalmazható Minden webelemet 0-tól kezdődő számmal indexelnek, akárcsak egy tömböt

Példa: Az Elem keresése parancs használata

A következő alkalmazást demo célokra használják

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

Forgatókönyv:

1. Nyissa meg az AUT

2. Keresse meg és kattintson a választógombra

com.sample.stepdefinitions csomag;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] érvel) {// TODO Automatikusan létrehozott módszercsonkSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/test/ajax.html");// Keresse meg a „Nem” választógombot az azonosítója használatával, és kattintson rádriver.findElement (By.id ("nem")). kattintson ();// Kattintson az Ellenőrzés gombradriver.findElement (By.id ("buttoncheck")). kattintson ();}}

Példa: Az Elemek keresése parancs használata

Forgatókönyv:

1. Nyissa meg a tesztelés alatt álló alkalmazás URL-jét

2. Keresse meg a rádiógombok szövegét, és nyomtassa ki a kimeneti konzolra

com.sample.stepdefinitions csomag;import java.util.List;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] érvel) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Sorolja fel a  elemeket = driver.findElements (By.name ("név"));System.out.println ("Elemek száma: + elements.size ());mert (int i = 0; i 

Összegzés:

  • Az Elem keresése parancs visszaadja azt a webelementet, amely megegyezik a weboldal első legtöbb elemével.
  • Az Elemek keresése parancs a feltételeknek megfelelő webes elemek listáját adja vissza.
  • Az Element by XPath keresése a Szelén parancsban a NoSuchElementException parancsot dobja el, ha nem találja a feltételeknek megfelelő elemet.
  • Az Elemek keresése parancs üres listát ad vissza a Szelénben, ha nincsenek a feltételeknek megfelelő elemek