selenium locators identify web elements using xpath selenium
Selenium Locators Tutorial: Lær hvordan du identificerer webelementer ved hjælp af XPath i Selen med eksempler
I forrige tutorial , vi introducerede dig til et andet værktøj til automatiseringstest kaldet Firebug. Vi oprettede også vores eget automatiseringsscript manuelt ved hjælp af Firebug og dets muligheder. Vi lærte også at anbringe ønskede ændringer i vores script.
Fortsat i denne vejledning vil vi se på forskellige typer lokaliseringer i Selen og deres tilgængelighedsteknik til at oprette testskripter . Således består denne vejledning af den detaljerede introduktion til forskellige typer lokaliseringer.
Dette er vores 5. tutorial i Selenium Tutorial serie.
Hvad er Locator?
Locator kan betegnes som en adresse, der identificerer et webelement entydigt på websiden. Locators er HTML-egenskaberne for et webelement, der fortæller Selen om det webelement, det har brug for for at udføre handlingen på.
Der er en bred vifte af webelementer. De mest almindelige blandt dem er:
- Tekstboks
- Knap
- Drop Down
- Hyperlink
- Afkrydsningsfelt
- Radio knap
Hvad du lærer:
- Typer af lokaliseringer
- Brug af ID som Locator
- Brug af ClassName som en Locator
- Brug af navn som en Locator
- Brug af linktekst som lokalisering
- Brug af XPath som en Locator
- Konklusion
- Anbefalet læsning
Typer af lokaliseringer
At identificere disse elementer har altid været et meget vanskeligt emne, og det kræver derfor en nøjagtig og effektiv tilgang. Dermed kan vi hævde, at mere effektiv lokalisatoren, mere stabil vil være automatiseringsskriptet. I det væsentlige kræver hver Selenium-kommando, at lokaliseringer finder webelementerne. For at identificere disse webelementer nøjagtigt og præcist har vi således forskellige typer lokaliseringer.
Lad os nu forstå yderligere ved at udøve hver af dem uafhængigt.
Inden vi starter med lokalisatorerne, lad mig tage et øjeblik til at introducere den applikation, der testes. Vi bruger “https://accounts.google.com/” til at finde forskellige typer webelementer ved hjælp af forskellige lokaliseringstyper.
Brug af ID som Locator
Den bedste og mest populære metode til at identificere webelementet er at bruge ID. ID'et for hvert element hævdes at være unikt.
I denne prøve ville vi få adgang til tekstfeltet 'E-mail' til stede i loginformularen på gmail.com.
Finde et id på et webelement ved hjælp af Firebug
spørgsmål om seleninterview i 8 års erfaring
Trin 1 : Start webbrowseren (Firefox) og naviger til “https://accounts.google.com/”.
Trin 2 : Åbn firebug (enten ved at trykke på F12 eller via værktøjer).
Trin 3 : Klik på inspiceringsikonet for at identificere webelementet.
Trin 4 : Hold musen over webelementet (e-mail-tekstfelt i vores tilfælde), som vi ønsker at udføre en handling på. I firebug-sektionen kan man se de tilsvarende HTML-tags fremhæves.
Trin 5 : Vær opmærksom på ID-attributten og noter den. Nu skal vi kontrollere, om det identificerede ID er i stand til at finde elementet unikt og fejlfrit.
Syntaks : id = id for elementet
I vores tilfælde er id'et 'E-mail'.
Alternativ tilgang:
I stedet for at følge trin 2 til 4 kan vi direkte lokalisere / inspicere webelementet ved at højreklikke på webelementet (E-mail-tekstboks), hvis lokaliseringsværdi vi har brug for for at inspicere og klikke på indstillingen 'Inspicer element med Firebug'. Således udløser denne klikhændelse udvidelsen af firebug-sektionen, og det tilsvarende HTML-tag vil blive fremhævet.
Bekræft lokaliseringsværdien
Forudsat at browseren er åben og omdirigeres til “https://accounts.google.com/”.
Trin 1 : Start Selen IDE.
Trin 2 : Klik på den første række i redigeringsafsnittet.
Trin 3 : Skriv “id = Email” dvs. lokaliseringsværdien i målfeltet.
Trin 4 : Klik på Find-knappen. Hvis den angivne lokaliseringsværdi er legitim, vil e-mail-tekstfeltet blive fremhævet med gul farve med en fluorescerende grøn kant omkring marken. Hvis den angivne lokaliseringsværdi er forkert, udskrives en fejlmeddelelse i logruden i bunden af Selen IDE.
Sag 1 - Lokalitetsværdi = korrekt
Sag 2 - Lokalitetsværdi = forkert
Trin 5 : For at bekræfte yderligere kan en bruger også udføre kommandoen 'type' mod det givne mål ved at angive en værdi i feltet 'Værdi'. Hvis udførelsen af kommandoen indtaster den angivne værdi i tekstfeltet E-mail, betyder det, at den identificerede locatortype er korrekt og tilgængelig.
Brug af ClassName som en Locator
Der er kun en subtil forskel mellem at bruge ID som locator og at bruge klassens navn som locator.
I denne prøve ville vi få adgang til 'Brug for hjælp?' hyperlink til stede i bunden af loginformularen på gmail.com.
Find et klassenavn på et webelement ved hjælp af Firebug
Trin 1 : Find / inspicer webelementet ('Brug for hjælp?' -Linket i vores tilfælde) ved at højreklikke på webelementet, hvis lokaliseringsværdi vi har brug for til at inspicere, og klikke på indstillingen 'Inspicer element med Firebug'.
Trin 2 : Vær opmærksom på klassens attribut og noter den. Nu skal vi kontrollere, om klassens navn, der er identificeret, er i stand til at finde elementet entydigt og præcist.
Syntaks: class = classname på elementet
I vores tilfælde er klassenavnet 'behov-hjælp-omvendt'
Bekræft lokaliseringsværdien
Trin 1 : Skriv “class = need-help-reverse” i målfeltet i Selen IDE.
Trin 2 : Klik på Find-knappen. Bemærk, at hyperlinket fremhæves med gul farve med en fluorescerende grøn kant omkring marken.
(Klik for at se forstørret billede)
Brug af navn som en Locator
At finde et webelement ved hjælp af navnet er meget analogt med de to foregående lokaliseringstyper. Den eneste forskel ligger i syntaksen.
I denne prøve ville vi få adgang til 'Adgangskode' tekstfelt til stede i loginformularen på gmail.com.
Syntaks: navn = elementets navn
I vores tilfælde er navnet 'Passwd'.
Bekræft lokaliseringsværdien
Trin 1 : Skriv 'navn = Passwd' i målfeltet, og klik på Find-knappen. Bemærk, at 'Adgangskode' tekstfeltet vil blive fremhævet.
simpelt java-program til sortering af numre i stigende rækkefølge
Brug af linktekst som lokalisering
Alle hyperlinks på en webside kan identificeres ved hjælp af linktekst. Links på en webside kan bestemmes ved hjælp af ankermærke ( ). Ankermærket bruges til at oprette hyperlinks på en webside, og teksten mellem åbning og lukning af ankermærker udgør linkteksten ( Noget tekst ).
I denne prøve ville vi få adgang til linket 'Opret en konto' i bunden af loginformularen på gmail.com.
At finde en linktekst til et webelement ved hjælp af Firebug
Trin 1 : Find / inspicer webelementet (linket 'Opret en konto' i vores tilfælde) ved at højreklikke på det webelement, hvis lokaliseringsværdi vi har brug for til at inspicere, og klikke på indstillingen 'Inspicer element med Firebug'.
Trin 2 : Vær opmærksom på den tekst, der findes i tag og noter det. Derfor vil denne tekst bruges til at identificere linket på en webside entydigt.
(Klik for at se forstørret billede)
Syntaks: link = elementets linktekst
I vores tilfælde er linkteksten 'Opret en konto'.
Bekræft lokaliseringsværdien
Trin 1 : Skriv 'link = Opret en konto' dvs. lokaliseringsværdien i målfeltet i Selen IDE.
Trin 2 : Klik på Find-knappen. Bemærk, at linket vil blive fremhævet med gul farve med en fluorescerende grøn kant omkring marken.
Brug af XPath som en Locator
Xpath bruges til at finde et webelement baseret på dets XML-sti. XML står for Extensible Markup Language og bruges til at gemme, organisere og transportere vilkårlige data. Den gemmer data i et nøgleværdipar, der meget ligner HTML-tags. Begge er markup-sprog, og da de falder under den samme paraply, kan xpath bruges til at lokalisere HTML-elementer.
Grundlæggende bag lokalisering af elementer ved hjælp af Xpath er at krydse mellem forskellige elementer på tværs af hele siden og således gøre det muligt for en bruger at finde et element med reference til et andet element.
Xpath kan oprettes på to måder:
Relativ Xpath
Relativ Xpath begynder fra den aktuelle placering og er forud for en “//”.
hvad du ser er, hvad du får webbygger
For eksempel: // span (@ class = ’Email’)
Absolut Xpath
Absolut Xpath begynder med en rodsti og er foran '/'.
For eksempel: / HTML / body / div / div (@ id = ’Email’)
Centrale punkter:
- Succesfrekvensen for at finde et element ved hjælp af Xpath er for høj. Sammen med den foregående erklæring kan Xpath finde relativt alle elementerne på en webside. Således kan Xpaths bruges til at lokalisere elementer uden id, klasse eller navn.
- Oprettelse af en gyldig Xpath er en vanskelig og kompleks proces. Der er plug-ins til rådighed til at generere Xpath, men de genererede Xpaths identificerer oftest ikke webelementet korrekt.
- Under oprettelsen af xpath skal brugeren være opmærksom på de forskellige nomenklaturer og protokoller.
Selen XPath-eksempler:
Xpath Checker
Oprettelse af Xpath bliver lidt enklere ved at bruge Xpath Checker. Xpath Checker er en Firefox-tilføjelse, der automatisk genererer Xpath til et webelement. Tilføjelsen kan downloades og installeres som ethvert andet plug-in. Plugin'et kan downloades fra “https://addons.mozilla.org/en-US/firefox/addon/xpath-checker/”.
Så snart plug-in'et er installeret, kan det ses i kontekstmenuen ved at højreklikke på ethvert element, hvis xpath vi vil generere.
Klik på 'Vis Xpath' for at se Xpath-udtrykket for elementet. Et redigeringsvindue vises med det genererede Xpath-udtryk. Nu har brugeren frihed til at redigere og ændre det genererede Xpath-udtryk. De tilsvarende resultater opdateres kumulativt.
Bemærk, at XPath Checker også er tilgængelig for andre browsere.
Men gentager det faktum, at de genererede Xpaths for det meste ikke identificerer webelementet med rette. Således anbefales det at oprette vores egen Xpath efter de foruddefinerede regler og protokoller.
I denne prøve ville vi få adgang til 'Google' -billede til stede øverst i loginformularen på gmail.com.
Oprettelse af en Xpath af et webelement
Trin 1 : Skriv “// img (@ class =’ logo ’)” dvs. lokaliseringsværdien i målfeltet inden for Selen IDE.
Syntaks: Elementets Xpath
Trin 2 : Klik på Find-knappen. Bemærk, at billedet fremhæves med gul farve med en fluorescerende grøn kant omkring marken.
Konklusion
Her er kernen i denne artikel.
- Locators er HTML-egenskaberne for et webelement, der fortæller Selen om det webelement, som det har brug for for at udføre handlinger.
- Der er en bred vifte af webelementer, som en bruger muligvis skal interagere med regelmæssigt. Nogle af dem er: Tekstboks, knap, rullemenu, hyperlink, afkrydsningsfelt og radioknap.
- Med det varierede udvalg af webelementer kommer en lang række strategier / tilgange til at lokalisere disse webelementer.
- Nogle af de meget anvendte locator-typer er ID, ClassName, Link Text, XPath, CSS Selectors og Name.
Bemærk: På grund af det faktum, at oprettelse af CSS Selector og XPath kræver en stor indsats og praksis, således at processen kun udøves af mere sofistikerede og uddannede brugere.
I denne vejledning lærte vi forskellige typer lokaliseringer, herunder Selen Xpath.
Næste tutorial # 6 : I forlængelse af denne Selenium Locator typer tutorial lærer vi, hvordan man bruger CSS Selector som Locator.
Eventuelle spørgsmål? Lad os vide i kommentarer. Vi vil prøve at løse alt.
Anbefalet læsning
- Selen Find Element By Text Tutorial med eksempler
- 30+ bedste selen-tutorials: Lær selen med rigtige eksempler
- Sådan finder du elementer i Chrome og IE-browsere til opbygning af selen-scripts - Selen Tutorial # 7
- Håndtering af webborde, rammer og dynamiske elementer i Selenium Script - Selen Tutorial # 18
- Brug af Selen Select Class til håndtering af dropdown-elementer på en webside - Selen Tutorial # 13
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Sådan bruges CSS Selector til identifikation af webelementer til selen-scripts - Selen Tutorial # 6
- Kontroller synligheden af webelementer ved hjælp af forskellige typer WebDriver-kommandoer - Selen-vejledning nr. 14