Pronađite Element i FindElements XPath u programu Selenium WebDriver

Sadržaj:

Anonim

Zašto vam je potrebna naredba Find Element / s?

Interakcija s web stranicom zahtijeva od korisnika da pronađe web element. Naredba Pronađi element koristi se za jedinstveno prepoznavanje (jednog) web elementa na web stranici. Dok se naredba Pronađi elemente koristi za jedinstveno prepoznavanje popisa web elemenata na web stranici. Postoji više načina za jedinstveno prepoznavanje web elementa unutar web stranice, kao što su ID, ime, naziv klase, tekst veze, djelomični tekst veze, naziv oznake i XPATH.

Sintaksa naredbe FindElement:

Naredba Selenium Find Element uzima parametar By objekt i vraća objekt s popisa vrsta WebElement u Selenium. Po objekt se zauzvrat može koristiti s raznim strategijama lokatora, kao što je pronalazak elementa prema ID-u Selenium, Ime, Naziv klase, XPATH itd. Ispod je sintaksa naredbe FindElement u web-pokretačkom programu Selenium.

WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));

Strategija lokatora može biti bilo koja od sljedećih vrijednosti.

  • iskaznica
  • Element pronalaska selena po imenu
  • Naziv klase
  • Naziv oznake
  • Tekst veze
  • Tekst djelomične veze
  • XPATH

Locator Value je jedinstvena vrijednost pomoću koje se web element može identificirati. Odgovornost je programera i testera da osiguraju da se web elementi mogu jedinstveno identificirati pomoću određenih svojstava poput ID-a ili imena.

Primjer:

WebElement loginLink = driver.findElement (By.linkText ("Prijava"));

Sintaksa naredbe FindElements:

FindElements u seleniju naredba uzima By objekt kao parametar i vraća popis web elemenata. Vraća prazan popis ako nisu pronađeni elementi koji koriste zadanu strategiju lokatora i vrijednost lokatora. Ispod je sintaksa naredbe find elements.

Popis  elementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));

Primjer:

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

Pronađi element Vs Pronađi elemente

Ispod su glavne razlike između naredbi find element i find elements.

Pronađi element Vs Pronađi elemente u selenu
Pronađi element Pronađi elemente
Vraća prvi web element ako postoji više web elemenata koji se nalaze s istim lokatorom Vraća popis web elemenata
Baca iznimku NoSuchElementException ako nema elemenata koji se podudaraju sa strategijom lokatora Vraća prazan popis ako nema web elemenata koji se podudaraju sa strategijom lokatora
Pronađi element putem XPath pronaći će samo jedan web element Pronaći će kolekciju elemenata koji se podudaraju sa strategijom lokatora.
Nije primjenjivo Svaki web element indeksira se brojem koji počinje od 0, baš poput niza

Primjer: Kako se koristi naredba Pronađi element

Sljedeća se aplikacija koristi u demo svrhe

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

Scenarij:

1. Otvorite AUT

2. Pronađite i kliknite radio gumb

paket com.sample.stepdefinitions;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;javna klasa NameDemo {javna statička void glavna (String [] args) {// TODO Automatski generirani kvar metodeSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/test/ajax.html");// Pronađite radio gumb za "Ne" koristeći njegov ID i kliknite gadriver.findElement (By.id ("ne")). click ();// Kliknite gumb za provjerudriver.findElement (By.id ("provjera gumba")). click ();}}

Primjer: Kako se koristi naredba Pronađi elemente

Scenarij:

1. Otvorite URL aplikacije koja se testira

2. Pronađite tekst radio gumba i ispišite ga na izlaznu konzolu

paket com.sample.stepdefinitions;import java.util.List;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;uvoz org.openqa.selenium.chrome.ChromeDriver;javna klasa NameDemo {javna statička void glavna (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Popis  elementi = driver.findElements (By.name ("name"));System.out.println ("Broj elemenata: + elements.size ());for (int i = 0; i 

Sažetak:

  • Naredba Pronađi element vraća web element koji se podudara s prvim elementom na web stranici.
  • Naredba Pronađi elemente vraća popis web elemenata koji odgovaraju kriterijima.
  • Pronađi element pomoću XPath u naredbi Selenium baca NoSuchElementException ako ne pronađe element koji odgovara kriterijima.
  • Naredba Pronađi elemente vraća prazan popis u Seleniju ako nema elemenata koji odgovaraju kriterijima