Što je XPath u selenu?

Kao što svi znamo da je sada s promjenom trenda u softverskoj industriji, opseg ručnog testiranja minimiziran i više testnih slučajeva je automatizirano jer ne samo da povećava učinkovitost i točnost, već i smanjuje vrijeme. Na tržištu su dostupni mnogi softverski alati za razvoj i izvedbu automatiziranih testnih skripti. Selen je jedan od njih. Selen je open-source, i možda najčešće korišteni paket za automatizaciju testiranja koji se koristi za testiranje automatizacije. Podržava razne jezike poput Php, Java, Perl, Python, itd. Instaliranjem upravljačkih programa određenih jezika. Također podržava više preglednika kao što su Chrome, Mozilla Firefox, IE1, Edge, Opera preglednik itd.

XPath označava XML Path Language. U Seleniumu XPath nije ništa drugo nego uobičajeni XML put koji se koristi za pronalaženje bilo kojeg elementa na web stranici pomoću izraza XML putanje. Za izvođenje bilo koje operacije poput klika na gumb, pisanja u textbox, odabira bilo kojeg polja itd. Prvo je pronaći lokaciju tog web elementa u dokumentu i u Selenium-u, Xpath pomaže u pronalaženju tog puta. XPath koristi HTML DOM strukturu dok skuplja put bilo kojeg elementa na web stranici. Izraz staze napisan je zajedno s nekim uvjetima. XPath je W3C preporuka,

Sintaksa XPath u Selenu

Ispod je sintaksa XPath u Selenu:

Xpath = //Tagname(@Atrribute=value)

gdje,

  • //: Koristi se za odabir trenutnog čvora.
  • Naziv oznake: Određuje naziv oznake određenog čvora poput img, div, unosa itd.
  • @: Odabire atribut.
  • Atributi: Određuje naziv atributa čvora.
  • Vrijednost: Određuje vrijednosti atributa čvora.

U Xpathu se za lociranje web elemenata koriste razni lokatori:

  • Id: Pronalazi web element po id-u tog elementa. (Id je jedinstven za svaki web element).
  • Naziv: Nalazi web element po imenu tog elementa.
  • Naziv klase: Nalazi web element po nazivu klase tog elementa.
  • Tekst veze: pronalazi web element po tekstu napisanom na vezi tog elementa.
  • CSS staza: Elementi koji nemaju ime, id i ime klase pronalaze se kroz CSS put koji su stvorili testeri / programeri.

Vrste XPath u Selenu

U osnovi postoje dvije vrste XPath-a u Selenium-u koji su dolje opisani:

1. Apsolutni XPath

To je jedan od najlakših i izravnih načina za pronalaženje web-elementa u dokumentu. Odabire stazu elementa iz korijenskog čvora i vodi put dok element ne pokriva sve odjeljke u dokumentu, uključujući div, odjeljak, li, itd. Počinje jednim naglom naprijed '/' specificirajući razinu korijena. Jedini nedostatak korištenja Apsolutnog puta u Selenu je taj što se promjene na web mjestu ili dokumentu promijene, tada se promijeni cijeli XPath tog elementa i stoga prethodni put neće raditi i cijeli će program propasti.

Primjer:

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

Ako se u HTML dokumentu i položaju div elemenata promijene bilo kakve promjene, prethodni XPath neće uspjeti.

2. Relativni XPath

Jedan od nedostataka Absolute XPath osim modifikacije su preduge staze, relativni putevi su spasitelj u takvim situacijama. Relativni put koristi se za definiranje puta elementa od sredine strukture HTML DOM. Za razliku od Absolute XPaths, nije potrebno definirati put od korijenske razine što zauzvrat smanjuje ukupnu duljinu XPath-a. Sve započinje dvostrukom naprijed kosom kosom '//', tj. Odabirom web elementa s bilo kojeg mjesta u dokumentu.

Primjer:

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

XPath funkcije u selenu

Ispod su neke od funkcija XPath-a koje se koriste u Seleniumu:

1. Sadrži (): To je metoda koja se koristi u izrazu XPath i koristi se za pronalaženje elementa s djelomičnim tekstom u slučaju kada je tekst koji se traži previše dugotrajan i vrijednost atributa dinamički se mijenja pri ponovnom učitavanju.

Primjer:

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

2. Slijedi: Ova metoda odabire sve elemente trenutnog čvora u strukturi HTML DOM.

Primjer:

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

3. Pretinac: Ova metoda koristi se za odabir svih elemenata predaka iz trenutnog čvora. Preci mogu biti baka i djed, roditelji trenutnog čvora u HTML dokumentu.

Primjer:

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

Pronaći će sve pretke trenutnog web elementa koji odgovaraju kriterijima text () = 'Uvod' s div oznakom.

4. Dijete: Ova metoda se koristi u scenarijima u kojima želimo odabrati podređene elemente trenutnog čvora u HTML dokumentu.

Primjer:

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

5. Postupak: Ova metoda koristi se za odabir svih čvorova koji teku do trenutnog čvora ili onih koji dolaze prije trenutnog čvora.

Primjer:

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

6. Sljedeće braće: Ova metoda koristi se za pronalaženje braće i sestara koji su na istoj razini kao i trenutni čvor.

Primjer:

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

7. Roditelj: Ova metoda se koristi za pronalaženje roditelja trenutnog čvora u HTML dokumentu.

Primjer:

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

8. Self: Ova metoda koristi se za pronalaženje samog HTML dokumenta. Self označava samo trenutni čvor.

Primjer:

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

9. Descendant: Ova metoda koristi se za pronalaženje potomaka trenutnog čvora u HTML dokumentu.

Primjer:

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

10. Početak: Ova metoda se koristi u scenarijima kada želimo uskladiti početni tekst atributa i kad trebamo pronaći web element kada se atribut dinamično mijenja na osvježavanju i ponovnom učitavanju web stranice.

Primjer:

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

Zaključak

Navedene su neke vrste XPath-a i različite funkcije koje se koriste u Selenium-u za XPath. Ove funkcije olakšavaju rad s XPaths-om kao najvažnijim korakom za automatizaciju lociranja web elementa kroz XPath. U XPathu se za lociranje web elemenata na web stranici koriste različiti lokatori poput id, imena, CSS putanje, teksta veze. Znanje i različiti načini pronalaženja XPath-a vrlo su važni pri radu s automatskim testiranjem koristeći Selenium ili bilo koji drugi alat.

Preporučeni članci

Ovo je vodič za ono što je XPath u Selenu ?. Ovdje ćemo raspravljati o osnovnom konceptu, sintaksi, vrstama i funkcijama XPath-a u Seleniumu s njegovim primjerima. Možete pogledati i sljedeći članak da biste saznali više -

  1. 10 najboljih primjena selena
  2. Kako instalirati selen | koraci
  3. Selen alternative | komponente
  4. Što je Selenium Web Driver?
  5. Što je XPath?

Kategorija: