Hvorfor har du brug for Find Element / s kommando?
Interaktion med en webside kræver, at en bruger finder webelementet. Find element-kommandoen bruges til entydigt at identificere et (et) webelement på websiden. Mens kommandoen Find elementer bruges til entydigt at identificere listen over webelementer på websiden. Der er flere måder til entydigt at identificere et webelement på websiden, såsom ID, navn, klassenavn, linktekst, delvis linktekst, tagnavn og XPATH.
FindElement-kommandosyntaks:
Selen Find Element-kommandoen tager By-objektet ind som parameter og returnerer et objekt af typelisten WebElement i Selenium. Efter objekt kan igen bruges sammen med forskellige lokaliseringsstrategier såsom findelement af ID Selenium, Name, Class Name, XPATH osv. Nedenfor er syntaksen for FindElement-kommandoen i Selenium-webdriver.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
Locator Strategy kan være en af følgende værdier.
- ID
- Selen Find element efter navn
- Klassens navn
- Tagnavn
- Linktekst
- Delvis linktekst
- XPATH
Locator Value er den unikke værdi, ved hjælp af hvilken et webelement kan identificeres. Det er udvikleres og testernes ansvar at sikre, at webelementer kan identificeres entydigt ved hjælp af bestemte egenskaber såsom ID eller navn.
Eksempel:
WebElement loginLink = driver.findElement (By.linkText ("Login"));
FindElements kommandosyntaks:
FindElements in Selenium-kommandoen tager efter objekt som parameter og returnerer en liste over webelementer. Det returnerer en tom liste, hvis der ikke findes nogen elementer ved hjælp af den givne lokaliseringsstrategi og lokaliseringsværdi. Nedenfor er syntaksen for find elements-kommandoen.
ListeelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Eksempel:
ListelistOfElements = driver.findElements (By.xpath ("// div"));
Find element Vs Find elementer
Nedenfor er de største forskelle mellem findelementer og findelementkommandoer.

Find element | Find elementer |
---|---|
Returnerer det første mest webelement, hvis der findes flere webelementer med den samme lokalisator | Returnerer en liste over webelementer |
Kaster undtagelse NoSuchElementException, hvis der ikke er nogen elementer, der matcher lokaliseringsstrategien | Returnerer en tom liste, hvis der ikke er nogen webelementer, der matcher lokaliseringsstrategien |
Find element af XPath finder kun et webelement | Den finder en samling af elementer, der matcher lokaliseringsstrategien. |
Ikke anvendelig | Hvert webelement indekseres med et tal, der starter fra 0, ligesom et array |
Eksempel: Sådan bruges kommandoen Find element
Følgende applikation bruges til demo-formål
http://demo.guru99.com/test/ajax.html
Scenarie:
1. Åbn AUT
2. Find og klik på alternativknappen
pakke com.sample.stepdefinitions;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;offentlig klasse NameDemo {public static void main (String [] args) {// TODO Auto-genereret metodestubSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");WebDriver-driver = ny ChromeDriver ();driver.manage (). vindue (). maksimere ();driver.get ("http://demo.guru99.com/test/ajax.html");// Find alternativknappen til “Nej” ved hjælp af dens ID og klik på dendriver.findElement (By.id ("no")). klik ();// Klik på Check-knappendriver.findElement (By.id ("buttoncheck")). klik ();}}
Eksempel: Sådan bruges kommandoen Find elementer
Scenarie:
1. Åbn URL'en til applikation under test
2. Find teksten på radioknapperne, og udskriv den på outputkonsollen
pakke com.sample.stepdefinitions;importere java.util.List;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;offentlig klasse NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");WebDriver-driver = ny ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Liste-elementer = driver.findElements (efter.navn ("navn"));System.out.println ("Antal elementer: + elements.size ());for (int i = 0; i Resumé:
- Find element-kommando returnerer det webelement, der matcher det første mest element på websiden.
- Find Elements-kommandoen returnerer en liste over webelementer, der matcher kriterierne.
- Find element af XPath i Selenium-kommando kaster NoSuchElementException, hvis det ikke finder det element, der matcher kriterierne.
- Find Elements-kommandoen returnerer en tom liste i Selenium, hvis der ikke er nogen elementer, der matcher kriterierne