Finn element og FindElements av XPath i Selenium WebDriver

Innholdsfortegnelse:

Anonim

Hvorfor trenger du kommandoen Finn element / er?

Interaksjon med en webside krever at brukeren finner webelementet. Find Element-kommandoen brukes til å identifisere et (ett) webelement på websiden. Mens kommandoen Find Elements brukes til å identifisere listen over webelementer på websiden. Det er flere måter å identifisere et webelement på websiden unikt, for eksempel ID, navn, klassenavn, lenketekst, delvis lenketekst, taggenavn og XPATH.

FindElement-kommandosyntaks:

Selen Find Element-kommandoen tar By-objektet som parameter og returnerer et objekt av typelisten WebElement i Selenium. Etter objekt kan i sin tur brukes med forskjellige lokaliseringsstrategier som finnelement av ID Selenium, Name, Class Name, XPATH etc. Nedenfor er syntaksen for FindElement-kommandoen i Selenium webdriver.

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

Locator Strategy kan være en av følgende verdier.

  • ID
  • Selen finne element etter navn
  • Klassenavn
  • Merkens navn
  • Linktekst
  • Delvis lenketekst
  • XPATH

Locator Value er den unike verdien som et webelement kan identifiseres med. Det er utvikleres og testernes ansvar å sørge for at webelementer er unikt identifiserbare ved bruk av visse egenskaper, for eksempel ID eller navn.

Eksempel:

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

FindElements kommandosyntaks:

Kommandoen FindElements in Selenium tar inn By-objekt som parameter og returnerer en liste over webelementer. Den returnerer en tom liste hvis det ikke finnes noen elementer som bruker den gitte lokaliseringsstrategien og lokaliseringsverdien. Nedenfor er syntaksen for find elements-kommandoen.

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

Eksempel:

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

Finn element Vs Finn elementer

Nedenfor er de største forskjellene mellom kommandoer for finn element og finn element.

Finn element Vs Finn elementer i Selen
Finn element Finn elementer
Returnerer det første webelementet hvis det finnes flere webelementer funnet med samme lokalisator Returnerer en liste over webelementer
Kaster unntak NoSuchElementException hvis det ikke er noen elementer som samsvarer med lokaliseringsstrategien Returnerer en tom liste hvis det ikke er noen webelementer som samsvarer med lokaliseringsstrategien
Finn element av XPath finner bare ett webelement Den vil finne en samling elementer som samsvarer med lokaliseringsstrategien.
Ikke aktuelt Hvert webelement er indeksert med et tall som starter fra 0, akkurat som en matrise

Eksempel: Hvordan bruke kommandoen Finn element

Følgende applikasjon brukes til demo-formål

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

Scenario:

1. Åpne AUT

2. Finn og klikk alternativknappen

pakke com.sample.stepdefinitions;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.chrome.ChromeDriver;offentlig klasse NameDemo {public static void main (String [] args) {// TODO Auto-generert metodestubSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");WebDriver driver = ny ChromeDriver ();driver.manage (). vindu (). maksimere ();driver.get ("http://demo.guru99.com/test/ajax.html");// Finn alternativknappen for “Nei” ved hjelp av ID-en og klikk på dendriver.findElement (By.id ("no")). klikk ();// Klikk på Sjekk-knappendriver.findElement (By.id ("buttoncheck")). klikk ();}}

Eksempel: Hvordan bruke kommandoen Finn elementer

Scenario:

1. Åpne URL-en for Application Under Test

2. Finn teksten til radioknappene og skriv den ut på utgangskonsollen

pakke com.sample.stepdefinitions;importere java.util.List;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.WebElement;importer 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 (etter.navn ("navn"));System.out.println ("Antall elementer: + elements.size ());for (int i = 0; i 

Sammendrag:

  • Kommandoen Finn element returnerer webelementet som samsvarer med det første elementet på websiden.
  • Finn element-kommandoen returnerer en liste over webelementer som samsvarer med kriteriene.
  • Finn element av XPath i Selenium-kommando kaster NoSuchElementException hvis det ikke finner elementet som samsvarer med kriteriene.
  • Finn element-kommandoen returnerer en tom liste i Selenium hvis det ikke er noen elementer som samsvarer med kriteriene