comprehensive xpath tutorial xml path language
Saznajte sve o jeziku XML puta (XPath) s primjerima. Ovaj vodič za XPath pokriva upotrebu i vrste XPath, XPath operatora, sjekira i aplikacija u testiranju:
Pojam XPath označava jezik XML Path. To je jezik upita koji se koristi za odabir različitih čvorova u XML dokumentu.
Kako se SQL koristi kao jezik upita za različite baze podataka ( Na primjer, SQL se može koristiti u bazi podataka kao što su MySQL, Oracle, DB2, itd.), XPath se također može koristiti za razne jezike i alate ( Na primjer, jezici poput XSLT, XQuery, XLink, XPointer itd. i alati poput MarkLogic, alati za testiranje softvera poput Selenium itd.)
Što ćete naučiti:
XPath - pregled
Xpath je u osnovi jezik za navigaciju kroz XML dokumente, a dok raspravljamo o navigaciji, to znači kretanje u XML dokumentu u bilo kojem smjeru, prelazak na bilo koji element ili bilo koji atribut i čvor teksta. XPath je preporučeni jezik konzorcija za World Wide Web (W3C).
Gdje možemo koristiti XPath?
XPath se može koristiti i u industriji razvoja softvera i u industriji testiranja softvera.
velike podatke kao uslužne tvrtke
Ako ste u domeni za testiranje softvera, tada možete koristiti XPath za razvoj skripti za automatizaciju u Seleniju, ili ako ste u razvojnoj domeni, gotovo svi programski jezici imaju podršku za XPath.
XSLT se pretežno koristi u domeni pretvorbe XML sadržaja i koristi XPath za pretvorbu. XSLT usko surađuje s XPathom i nekim drugim jezicima kao što su XQuery i XPointer.
Vrste XPath čvora
U nastavku su navedeni različiti tipovi XPath čvora.
# 1) Čvorovi elemenata: To su čvorovi koji dolaze izravno ispod korijenskog čvora. Čvor elementa može u sebi sadržavati atribute. Predstavlja XML oznaku. Kao što je dano u donjem primjeru: Tester softvera, država i država su čvorovi elemenata.
# 2) Čvorovi atributa :Ovo definira svojstvo / atribut čvora elementa. Može biti ispod čvora elementa kao i korijenski čvor. Čvorovi elemenata su nadređeni tim čvorovima. Kao što je dano u donjem primjeru: 'name' je čvor atributa čvora elementa (ispitivač softvera). Prečac za označavanje čvorova atributa je '@'.
# 3) Tekstualni čvorovi :Svi tekstovi koji dolaze između čvora elemenata poznati su kao čvorovi teksta, kao u donjem primjeru 'Delhi', 'India', 'Chennai' su čvorovi teksta.
# 4) Čvorovi komentara :To je nešto što tester ili programer napiše kako bi objasnio kôd koji programski jezici ne obrađuju. Komentari (neki tekst) dolaze između ovih početnih i završnih oznaka:
# 5) Prostori imena :T ”; 0j89 //// / koriste se za uklanjanje dvosmislenosti između više skupova imena XML elemenata. Na primjer, u XSLT-u se koristi zadani prostor imena kao (XSL :).
# 6) Upute za obradu :Sadrže upute koje se mogu koristiti u aplikacijama za obradu. Prisutnost ovih uputa za obradu može biti bilo gdje u dokumentu. Ovi dolaze između.
# 7) Korijenski čvor :Ovo definira najviši čvor elementa koji sadrži sve podređene elemente u njemu. Korijenski čvor nema nadređeni čvor. U donjem primjeru XML-a korijenski čvor je 'SoftwareTestersList'. Da bismo odabrali korijenski čvor, koristimo kosu crtu naprijed, tj. '/'.
najbolja ideja za python za Windows 10
Napisat ćemo osnovni XML program kako bismo objasnili gore spomenute pojmove.
Delhi India chennai India
Atomske vrijednosti : Svi oni čvorovi koji nemaju ni podređene ni nadređene čvorove poznati su kao atomske vrijednosti.
Čvor konteksta : Ovo je određeni čvor u XML dokumentu na kojem se ocjenjuju izrazi. Također se može smatrati trenutnim čvorom i skraćenim s jednim razdobljem (.).
Veličina konteksta : Ovo je broj podređenih roditelja kontekstnog čvora. Na primjer, ako je čvor konteksta jedno od petog podređenog roditelja, tada je veličina konteksta pet.
Apsolutni Xpath: Ovo je izraz XPath u XML dokumentu koji započinje s korijenskim čvorom ili s / /, Na primjer, / SoftwareTestersList / softwareTester / @ name = ”T1 ″
Relativni XPath: Ako izraz XPath započinje odabranim čvorom konteksta, tada se to smatra relativnim XPathom. Na primjer, ako je ispitivač softvera trenutno odabrani čvor, tada se / @ name = ”T1” smatra relativnim XPathom.
Sjekire u XPathu
- Samoos : Odaberite Kontekstni čvor. Izraz XPath self :: * i. su ekvivalentne. To je skraćeno jednim razdobljem (.)
- Dijete osi : Odaberite podređene dijelove kontekstnog čvora. Elementi, komentari, tekstualni čvorovi i upute za obradu smatraju se podređenim dijelom kontekstnog čvora. Čvor prostora imena i čvor atributa ne smatraju se podređenom osi čvora sadržaja. Na primjer, dijete :: ispitivač softvera.
- Matična os : Odaberite roditelja čvora konteksta (ako je čvor konteksta korijenski čvor, tada će nadređena os rezultirati praznim čvorom.) Ta je os skraćena dvostrukom točkom (...). Izrazi (nadređeni :: država) i (../State) su jednaki. Ako čvor konteksta nema elementa kao roditelja, ovaj izraz XPath rezultirat će praznim čvorom.
- Os atributa : Odaberite atribut kontekstnog čvora. Ova os atributa skraćena je znakom at (@). Ako čvor konteksta nije čvor elementa, to će rezultirati praznim čvorom. Izrazi (atribut :: ime) i (@ime) su ekvivalentni.
- Os predaka : Odaberite roditelja čvora konteksta, a to je roditelj roditelja i tako dalje. Ova os sadrži korijenski čvor ako sam kontekstni čvor nije korijenski čvor.
- Predak ili sam: Odaberite čvor konteksta s roditeljem, roditeljem roditelja i tako dalje i uvijek će odabrati korijenski čvor.
- Silazna os : Odaberite svu djecu kontekstnog čvora, djecu njihove djece i tako dalje. Djeca kontekstnog čvora mogu biti elementi, komentari, upute za obradu i čvorovi teksta. Čvor prostora imena i čvor atributa ne uzimaju se u obzir pod potomkom osi.
- Potomak-ili-ja : Odaberite kontekstni čvor i svu podređenu čvoru konteksta i svu djecu djece svih kontekstnih čvorova i tako dalje. Kao u prethodnom slučaju, razmatraju se komentari, upute za obradu i čvorovi teksta, a prostori imena i čvorovi atributa ne smatraju se podređenima kontekstnog čvora.
- Prethodna os : Odaberite sve čvorove koji dolaze ispred kontekstnog čvora u cijelom dokumentu koji se smatra prethodnom osi. Prostor imena, preci i čvor atributa ne smatraju se prethodnom osi.
- Os prethodnika i brata : Odaberite sve prethodne braće i sestre kontekstnog čvora. Svi čvorovi koji se pojavljuju prije čvora konteksta i koji imaju istog roditelja kao i čvor konteksta u XML dokumentu. Prethodno-brat ili sestra rezultirat će prazno ako je čvor konteksta prostor imena ili je atribut.
- Slijedeća os : Odaberite sve čvorove koji dolaze nakon čvora konteksta u XML dokumentu. Prostor imena, atribut i potomci nisu uzeti u obzir na ovom sljedećem popisu osi.
- Osovina sljedbenika : Odaberite sve sljedeće braće i sestre kontekstnog čvora. Svi čvorovi koji dolaze nakon čvora konteksta i koji imaju istog roditelja kao i čvor konteksta u XML dokumentu smatraju se osi srodnika. To će rezultirati praznim skupom čvorova ako je kontekstni čvor prostor imena ili čvor atributa.
- Prostor imena : Odaberite čvorove prostora imena kontekstnog čvora. To će rezultirati prazno ako čvor konteksta nije čvor elementa.
Tipovi podataka u XPathu
Dolje su navedeni različiti tipovi podataka u XPathu.
- Broj: Brojevi u XPathu predstavljaju broj s pomičnom zarezom i implementirani su kao IEEE 754 brojevi s pomičnom zarezom. Cjelobrojni tip podataka ne uzima se u obzir u XPathu.
- Boolean: Ovo predstavlja istinito ili netačno.
- Niz: Ovo predstavlja nula ili više znakova.
- Skup čvorova: Ovo predstavlja skup nula ili više čvorova.
Zamjenski znakovi u XPathu
Dolje su navedeni zamjenski znakovi u XPathu.
- Zvjezdica (*) : Ovo će odabrati sve čvorove elemenata kontekstnog čvora. Odabrat će čvorove teksta, komentare, upute za obradu i čvor atributa.
- Potpiši zvjezdicom (@ *) : Ovo će odabrati sve čvorove atributa kontekstnog čvora.
- Čvor() : Ovo će odabrati sve čvorove kontekstnog čvora. Ovim se odabiru imenski prostori, tekst, atributi, elementi, komentari i upute za obradu.
Operateri XPath
Bilješka: U donjoj tablici e označava bilo koji izraz XPath.
Operateri | Opis | Primjer |
---|---|---|
e1! = e2 | Nejednak | @ime! = 'T1' |
e1 + e2 | Zbrajanja (ako su e1 i e2 brojevi) | 5 + 2 |
e1 - e2 | Oduzimanje (ako su e1 i e2 brojevi) | 10 - 4 |
e1 * e2 | Množenje (ako su e1 i e2 brojevi) | 3. 4 |
e1 div e2 | Podjela (ako su e1 i e2 brojevi i rezultat će biti u vrijednosti s pomičnom zarezom) | 4 div 2 |
e1 | e2 | unija dva čvora koja se podudaraju s e1 i podudaraju se s e2. | // Država | //zemlja |
e1 = e2 | Jednako | @name = 'T1' |
e1Test e1 je manji od e2 (znak manje od '<’ must be excaped by ‘<’) | test = ”5<9” will result true(). | |
e1> e2 | Ispitivanje e1 veće je od e2 (znak '>' mora prekopati '>') | test = ”5> 9” rezultirat će false (). |
e1<= e2 | Test e1 je manji ili jednak e2. | test = ”5<= 9” will result false(). |
e1> = e2 | Test e1 veći je ili jednak e2. | test = ”5> = 9” rezultirat će false (). |
e1 ili e2 | Procjenjuje se jesu li istinite ili e1 ili e2. | |
e1 i e2 | Procjenjuje se jesu li i e1 i e2 istiniti. | |
e1 mod e2 | Vraća ostatak e1 s pomičnom zarezom podijeljen s e2. | 7 mod 2 |
Predikati u XPathu
Predikati se koriste kao filtri koji ograničavaju čvorove odabrane izrazom XPath. Svaki se predikat pretvara u logičku vrijednost ili true ili false, ako je istina za zadani XPath, tada će taj čvor biti odabran, ako je false, čvor neće biti odabran.
Predikati se uvijek nalaze unutar uglatih zagrada poput ().
Na primjer, softwareTester (@ name = ”T2 ″):
Ovo će odabrati element koji je imenovan kao atribut s vrijednošću T2.
Primjene XPath-a u testiranju softvera
XPath je vrlo koristan u automatizacijskom testiranju. Čak i ako provodite ručno testiranje, znanje XPaths-a bit će vam vrlo korisno kako bi vam pomoglo da razumijete što se događa na pozadini aplikacije.
metoda razvoja životnog ciklusa vodopada
Ako ste na automatskom testiranju, sigurno ste čuli za Appium studio koji je jedan od najboljih alata za automatizaciju za testiranje mobilnih aplikacija. U ovom alatu postoji jedna vrlo moćna značajka koja se naziva Značajka XPath što vam omogućuje prepoznavanje elemenata određene stranice kroz skriptu automatizacije.
Ovdje bismo željeli citirati još jedan primjer iz alata za koji zna gotovo svaki ispitivač softvera, tj. Selenium. Znanje XPath-a u Selenium IDE-u i Selenium WebDriver-u neophodno je znanje za testere.
XPath djeluje kao lokator elemenata. Kad god trebate locirati određeni element na stranici i izvršiti neku radnju nad njom, morate spomenuti njegov XPath u ciljnom stupcu skripte Selenium.
Kao što možete vidjeti na gornjoj slici, ako odaberete bilo koji element web stranice i pregledate ga, dobit ćete opciju 'Kopiraj XPath'. Kao primjer preuzet je iz web-elementa Google pretraživanja putem web-preglednika Chrome, a kada je XPath kopiran kao što je prikazano na gornjoj slici, dobili smo donju vrijednost:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Sada, ako pretpostavimo da trebamo izvršiti akciju klika na ovoj poveznici, morat ćemo pružiti naredbu klik u skripti Selenium, a cilj naredbe klik bit će gornji XPath. Korištenje XPath-a nije ograničeno samo na gornja dva alata. Postoji mnogo područja i alata za testiranje softvera u kojima se koristi XPath.
Nadamo se da ste stekli dobru ideju o važnosti XPath-a na polju testiranja softvera.
Zaključak
U ovom uputstvu naučili smo o XPathu, Kako koristiti XPath izraz, Podrška za XPath izraz na različitim jezicima i alatima. Saznali smo da se XPath može koristiti u bilo kojoj domeni razvoja softvera i testiranja softvera.
Također smo naučili različite tipove podataka XPath, različite osi korištene u XPathu zajedno s njihovom uporabom, tipove čvorova koji se koriste u XPathu, različite operatore i predikate u XPathu, razliku između relativnog i apsolutnog XPath, različite zamjenske znakove korištene u XPathu itd.
Sretno čitanje !!
Preporučena literatura
- Jednostavan pristup za XML testiranje baze podataka
- Izvrstan način ispitivanja podataka pomoću XML tehnologija (Bijela knjiga)
- Tvrdnja u SOAtestu s primjerom XML koda
- QTP vodič # 16 - Koraci za umetanje XML-a, pristupačnosti i kontrolnih točaka baze podataka
- Vrhunskih 45 pitanja i odgovora za XML intervju za 2021. godinu (NAJNOVIJE)
- Razlika između SQL Vs MySQL Vs SQL Server (s primjerima)
- Primjer TestNG: Kako stvoriti i koristiti datoteku TestNG.xml
- Vrhunski XPath Pisanje varalica Tutorial sa sintaksom i primjerima