Hva er XPath i Selenium?

Som vi alle vet at nå med endringen i trenden i programvareindustrien, har omfanget av manuell testing blitt minimert og flere av testtilfellene automatiseres, fordi det ikke bare øker effektiviteten og nøyaktigheten, men også reduserer tiden. Mange programvareverktøy er tilgjengelige i markedet for utvikling og utførelse av automatiserte testskript. Selen er en av dem. Selen er åpen kildekode, og kanskje den mest brukte automatiseringstest-pakken som brukes til automatiseringstesting. Den støtter en rekke språk som Php, Java, Perl, Python, etc. ved å installere driverne til bestemte språk. Den støtter også flere nettlesere som Chrome, Mozilla Firefox, IE1, Edge, Opera nettleser, etc.

XPath står for XML Path Language. I Selenium er XPath ikke noe annet enn en vanlig XML-bane som brukes til å lokalisere ethvert element på nettsiden ved å bruke XML-stienuttrykk. For å utføre en operasjon som å klikke på knappen, skrive i en tekstboks, velge hvilket som helst felt osv., Er det første å finne plasseringen til det webelementet i dokumentet og i Selenium hjelper Xpath til å finne den banen. XPath bruker HTML DOM-strukturen mens du samler banen til ethvert element på en webside. Den har stiuttrykk skrevet sammen med noen forhold. XPath er en W3C-anbefaling,

Syntaks for XPath i Selenium

Nedenfor er syntaks for XPath i Selenium gitt:

Xpath = //Tagname(@Atrribute=value)

hvor,

  • //: Brukes til å velge gjeldende node.
  • Tagname: Angir tagnavnet til en bestemt node som img, div, input, etc.
  • @: Velger attributtet.
  • Attributt: Angir attributtnavnet til noden.
  • Verdi: Angir verdiene til attributter for noden.

Ulike Locators brukes i Xpath for å finne nettelementene:

  • Id: Finner nettelementet etter IDen til det elementet. (Id er unik for hvert webelement).
  • Navn: Finner nettelementet med navnet på det elementet.
  • Klassenavn: Finner nettelementet etter klassens navn på det elementet.
  • Koblingstekst: Finner nettelementet etter teksten som er skrevet på koblingen til det elementet.
  • CSS-bane: Elementer som ikke har navn, id, klassens navn, blir funnet gjennom CSS-banen som er opprettet av testere / utviklere.

Typer XPath i Selenium

Det er i utgangspunktet to typer XPath i Selenium som er beskrevet nedenfor:

1. Absolutt XPath

Det er en av de enkleste og direkte måtene å finne et webelement i et dokument. Den velger en elementsti fra rotnoden og tar banen til elementet som dekker alle seksjonene i et dokument inkludert div, seksjon, li, etc. Det starter med en enkelt skråstrek '/' som spesifiserer rotnivået. Den eneste ulempen ved å bruke Absolute Path i Selenium er at hvis noen endringer gjøres på nettstedet eller et dokument, så endres hele XPath av det elementet, og dermed vil den forrige banen ikke fungere, og hele programmet vil mislykkes.

Eksempel:

html/body/div(1)/section/div/div/div/div(2)/div

Hvis noen endringer som er gjort i HTML-dokumentet og plasseringen av div-elementer er blitt endret, vil forrige XPath mislykkes.

2. Relativ XPath

En av ulempene med Absolute XPath bortsett fra modifisering er for lange stier, relative stier er en frelser i slike situasjoner. Relativ bane brukes til å definere banen til et element fra midten av HTML DOM-strukturen. I motsetning til Absolute XPaths, er det ikke nødvendig å definere banen fra rotnivået som igjen reduserer den totale lengden på XPath. Det starter med dobbelt skråstrek '//', dvs. å velge webelement hvor som helst i dokumentet.

Eksempel:

//input(@id = 'email')/div/li/a

XPath-funksjoner i selen

Nedenfor er noen av funksjonene til XPath som brukes i Selenium:

1. Inneholder (): Det er en metode som brukes i XPath-uttrykk og brukes til å lokalisere elementet med den delvise teksten i tilfelle teksten som skal søkes har for lang tid og verdien av attributtet endres dynamisk ved innlasting.

Eksempel:

Xpath = //*(contains(@name='inputButton'))

2. Følgende: Denne metoden velger alle elementene i den gjeldende noden i HTML DOM-strukturen.

Eksempel:

Xpath=//*(@type='password')//following::input(1)

3. Ancestor: Denne metoden brukes til å velge alle stamelementene fra den nåværende noden. Forfaren kan være besteforeldre, foreldre til den nåværende noden i HTML-dokumentet.

Eksempel:

Xpath=//*(text()='Introduction')//ancestor::div

Den vil finne at alle forfedrene til det gjeldende webelementet samsvarer med kriteriene for tekst () = 'Introduksjon' som har div-koden.

4. Barn: Denne metoden brukes i scenariene der vi vil velge underordnede elementer i gjeldende node i HTML-dokumentet.

Eksempel:

Xpath=//*(@id='email')/child::div

5. Fortsetter: Denne metoden brukes til å velge alle nodene som går videre til gjeldende node eller de som kommer før gjeldende node.

Eksempel:

Xpath=//*(@type=button)//preceding::div

6. Følgende søsken: Denne metoden brukes til å finne søsknene som er på samme nivå som gjeldende node.

Eksempel:

Xpath=//*(@type=button)//following-sibling::div

7. Overordnet: Denne metoden brukes til å finne overordnet til gjeldende node i HTML-dokumentet.

Eksempel:

Xpath=//*(@id='password')//parent::li

8. Selv: Denne metoden brukes til å lokalisere seg selv i HTML-dokumentet. Selv angir bare gjeldende node.

Eksempel:

Xpath=//*(@id='email')//self::input

9. Descendant: Denne metoden brukes til å finne etterkommerne til den nåværende noden i HTML-dokumentet.

Eksempel:

Xpath=//*(@id='email')//descendant::a

10. Start-with: Denne metoden brukes i scenariene når vi ønsker å matche startteksten til attributtene, og når vi trenger å finne webelementet når attributtet endres dynamisk ved å oppdatere og laste inn en webside på nytt.

Eksempel:

Xpath=//label(starts-with(@name, 'mess_avg'))

Konklusjon

Ovennevnte er noen av XPath-typene og de forskjellige funksjonene som brukes i Selenium for XPath. Disse funksjonene gjør det enkelt å jobbe med XPaths som det viktigste trinnet for automatisering av lokalisering av webelementet gjennom XPath. Ulike lokatorer som id, navn, CSS-bane, lenketekst brukes i XPath for å finne webelementer på websiden. Kunnskap og forskjellige måter å finne XPath er veldig viktig når du arbeider med automatiseringstesting ved bruk av enten Selenium eller et annet verktøy.

Anbefalte artikler

Dette er en guide til Hva er XPath i Selenium ?. Her diskuterer vi grunnleggende konsept, syntaks, typer og funksjoner for XPath i Selenium med sine eksempler. Du kan også se på følgende artikkel for å lære mer -

  1. Topp 10 bruk av selen
  2. Hvordan installere selen | Steps
  3. Selenalternativer | komponenter
  4. Hva er Selenium Web Driver?
  5. Hva er XPath?