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.
LuetteloelementNimi = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Esimerkki:
ListlistOfElements = 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 | 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");Luetteloelementeistä = 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