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 aelemNév = driver.findElements (By.LocatorStrategy ("LocatorValue")) listát;
Példa:
ListlistOfElements = 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.
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 aelemeket = 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