Etsi Element ja FindElements by XPath Selenium WebDriver -sovelluksesta

Sisällysluettelo:

Anonim

Miksi tarvitset Find Element / s -komennon?

Vuorovaikutus verkkosivun kanssa vaatii käyttäjän etsimään verkkoelementin. Etsi elementti -komentoa käytetään yksilöimään (yksi) web-elementti verkkosivulla. Etsi elementtejä -komentoa käytetään yksilöimään verkkosivun Web-elementtien luettelo. Verkkosivun yksilöimiseksi verkkosivulla on useita tapoja, kuten tunnus, nimi, luokan nimi, linkkiteksti, osittainen linkkiteksti, tunnisteen nimi ja XPATH.

FindElement-komentosyntaksi:

Selenium Find Element -komento ottaa parametrin mukaan By-objektin ja palauttaa objektityyppisen WebElement-objektin Seleniumissa. Objektikohtaisesti sitä voidaan käyttää erilaisten paikannusstrategioiden kanssa, kuten etsintäelementti ID Selenium, Name, Class Name, XPATH jne. Alla on FindElement -komennon syntaksi Selenium-web-ohjaimessa.

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

Locator-strategia voi olla mikä tahansa seuraavista arvoista.

  • Henkilötunnus
  • Seleeninhakuelementti nimen mukaan
  • Luokan nimi
  • Merkin nimi
  • Linkkiteksti
  • Osittainen linkkiteksti
  • XPATH

Locator-arvo on yksilöllinen arvo, jonka avulla verkkoelementti voidaan tunnistaa. Kehittäjien ja testaajien vastuulla on varmistaa, että verkkoelementit ovat yksilöllisesti tunnistettavissa käyttämällä tiettyjä ominaisuuksia, kuten tunnus tai nimi.

Esimerkki:

WebElement loginLink = driver.findElement (By.linkText ("Sisäänkirjautuminen"));

FindElements-komentosyntaksi:

FindElements in Selenium -komento ottaa parametriksi Objektin mukaan ja palauttaa luettelon verkkoelementeistä. Se palauttaa tyhjän luettelon, jos annettua paikannusstrategiaa ja paikannusarvoa ei löydy. Alla on Etsi elementit -komennon syntaksi.

Luettelo  elementNimi = driver.findElements (By.LocatorStrategy ("LocatorValue"));

Esimerkki:

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

Etsi elementti Vs Etsi elementit

Alla on suurimmat erot Etsi-elementti- ja Löydä-elementti-komentojen välillä.

Etsi elementti V Etsi elementtejä seleenistä
Etsi elementti Etsi elementit
Palauttaa ensimmäisen eniten verkkoelementin, jos samalla paikannimella on useita verkkoelementtejä Palauttaa luettelon verkkoelementeistä
Heittää poikkeuksen NoSuchElementException, jos paikannusstrategiaa vastaavia elementtejä ei ole Palauttaa tyhjän luettelon, jos paikannusstrategiaa vastaavia verkkoelementtejä ei ole
Etsi elementti XPath-ohjelmalla löytää vain yhden verkkoelementin Se löytää kokoelman elementtejä, jotka vastaavat paikannusstrategiaa.
Ei sovellettavissa Jokainen verkkoelementti indeksoidaan numerolla, joka alkaa nollasta, kuten taulukko

Esimerkki: Etsi elementti -komennon käyttäminen

Seuraavaa sovellusta käytetään esittelytarkoituksiin

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

Skenaario:

1. Avaa AUT

2. Etsi ja napsauta valintanappia

paketti com.sample.stepdefinitions;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.chrome.ChromeDriver;julkisen luokan nimiDemo {public staattinen void main (String [] argumentoi) {// TODO Automaattisesti luotu menetelmän tynkäSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");WebDriver-ohjain = uusi ChromeDriver ();ohjain.hallinta (). ikkuna (). maksimoi ();driver.get ("http://demo.guru99.com/test/ajax.html");// Etsi ”Ei” -valintanappi käyttämällä sen tunnusta ja napsauta sitädriver.findElement (By.id ("ei")). napsauta ();// Napsauta Tarkista-painikettadriver.findElement (By.id ("buttoncheck")). napsauta ();}}

Esimerkki: Etsi elementit -komennon käyttäminen

Skenaario:

1. Avaa testattavan sovelluksen URL-osoite

2. Etsi valintanappien teksti ja tulosta se lähtökonsoliin

paketti com.sample.stepdefinitions;tuo java.util.List;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuonti org.openqa.selenium.WebElement;tuo org.openqa.selenium.chrome.ChromeDriver;julkisen luokan nimiDemo {public staattinen void main (String [] argumentoi) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");WebDriver-ohjain = uusi ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Luettelo  elementeistä = driver.findElements (By.name ("nimi"));System.out.println ("Elementtien lukumäärä: + elements.size ());for (int i = 0; i 

Yhteenveto:

  • Etsi elementti -komento palauttaa verkkoelementin, joka vastaa verkkosivun ensimmäistä eniten elementtiä.
  • Etsi elementit -komento palauttaa luettelon verkkoelementeistä, jotka vastaavat ehtoja.
  • Etsi elementti XPathista Selenium-komennossa heittää NoSuchElementException, jos se ei löydä elementtiä, joka vastaa ehtoja.
  • Etsi elementit -komento palauttaa tyhjän luettelon Seleniumissa, jos ehtoja vastaavia elementtejä ei ole