comprehensive xpath tutorial xml path language
Naučte sa všetko o jazyku XML Path Language (XPath) na príkladoch. Tento výukový program XPath sa zameriava na použitie a typy XPath, operátorov XPath, osí a aplikácií pri testovaní:
Termín XPath znamená XML Path Language. Je to dotazovací jazyk používaný na výber rôznych uzlov v dokumente XML.
Pretože SQL sa používa ako dotazovací jazyk pre rôzne databázy ( Napríklad, SQL je možné použiť v databázach ako MySQL, Oracle, DB2 atď.), XPath možno použiť aj pre rôzne jazyky a nástroje ( Napríklad, jazyky ako XSLT, XQuery, XLink, XPointer atď. a nástroje ako MarkLogic, nástroje na testovanie softvéru ako selén atď.)
Čo sa dozviete:
XPath - prehľad
Xpath je v podstate jazyk pre navigáciu v dokumentoch XML a pri diskusii o navigácii to znamená pohyb v dokumente XML ľubovoľným smerom, prechod k ľubovoľnému prvku alebo atribútu a textovému uzlu. XPath je odporúčaný jazyk konzorcia World Wide Web Consortium (W3C).
Kde môžeme použiť XPath?
XPath je možné použiť v priemysle vývoja softvéru aj v priemysle testovania softvéru.
veľké dáta ako spoločnosti poskytujúce služby
Ak sa nachádzate v doméne Testovanie softvéru, môžete použiť XPath na vývoj automatizačných skriptov v seléne, alebo ak sa nachádzate vo vývojovej doméne, takmer všetky programovacie jazyky majú podporu XPath.
XSLT sa používa hlavne v doméne konverzie obsahu XML a na konverziu používa XPath. XSLT úzko spolupracuje s XPath a niektorými ďalšími jazykmi, ako sú XQuery a XPointer.
Typy uzla XPath
Nižšie sú uvedené rôzne typy uzlov XPath.
# 1) Uzly prvkov: Jedná sa o uzly, ktoré prichádzajú priamo pod koreňový uzol. Uzol prvku môže obsahovať atribúty. Predstavuje značku XML. Ako je uvedené v nasledujúcom príklade: Softvér Tester, štát, krajina sú uzly prvkov.
# 2) Uzly atribútov :Toto definuje vlastnosť / atribút uzla prvku. Môže byť pod uzlom prvku, ako aj pod koreňovým uzlom. Uzly prvkov sú rodičmi týchto uzlov. Ako je uvedené v nasledujúcom príklade: „name“ je uzol atribútu uzla prvku (softvérový tester). Skratka na označenie uzlov atribútov je „@“.
# 3) Textové uzly :Všetky texty, ktoré prichádzajú medzi uzlami prvkov, sú známe ako textové uzly, ako napríklad v príkladoch „Dillí“, „India“ a „Chennai“.
# 4) Uzly komentárov :To je niečo, čo píše tester alebo vývojár s cieľom vysvetliť kód, ktorý nie je spracovaný programovacími jazykmi. Medzi tieto úvodné a záverečné značky patria komentáre (určitý text):
# 5) Menné priestory :T “; 0j89 //// / tieto sa používajú na odstránenie nejednoznačnosti medzi viac ako jednou sadou názvov prvkov XML. Napríklad, v XSLT sa použije predvolený priestor názvov ako (XSL :).
# 6) Pokyny na spracovanie :Tieto obsahujú pokyny, ktoré by sa mohli použiť v aplikáciách na spracovanie. Tieto pokyny na spracovanie sa môžu nachádzať kdekoľvek v dokumente. Tieto prichádzajú medzi.
# 7) Koreňový uzol :Toto definuje najvyšší uzol prvku, ktorý obsahuje všetky podradené prvky v ňom. Root Node nemá nadradený uzol. V nasledujúcom príklade XML je koreňový uzol „SoftwareTestersList“. Na výber koreňového uzla používame lomku, tj. „/“.
protokoly použité v každej vrstve modelu osi
Na vysvetlenie vyššie uvedených pojmov napíšeme základný program XML.
Delhi India chennai India
Atómové hodnoty : Všetky tie uzly, ktoré nemajú ani podradené uzly, ani nadradené uzly, sú známe ako atómové hodnoty.
Kontextový uzol : Toto je konkrétny uzol v dokumente XML, na ktorom sa hodnotia výrazy. Mohlo by sa to tiež považovať za aktuálny uzol a skrátené jedinou bodkou (.).
Veľkosť kontextu : Toto je počet detí rodiča kontextového uzla. Napríklad, ak je kontextový uzol jedným z piatych detí svojho rodiča, potom je veľkosť kontextu päť.
Absolútna Xpath: Toto je výraz XPath v dokumente XML, ktorý začína koreňovým uzlom alebo znakom „/“, Napríklad, / SoftwareTestersList / softwareTester / @ name = ”T1 ″
Relatívna XPath: Ak výraz XPath začína vybraným kontextovým uzlom, potom sa to považuje za relatívny XPath. Napríklad, ak je softvérovým testerom aktuálne vybraný uzol, potom sa / @ name = ”T1” považuje za relatívny XPath.
Osi v XPath
- Vlastná os : Vyberte kontextový uzol. Výraz XPath self :: * a. sú rovnocenné. Toto je skrátené jednou bodkou (.)
- Os dieťaťa : Vyberte deti kontextového uzla. Prvky, komentár, textové uzly a inštrukcia na spracovanie sa považujú za podradené prvky kontextového uzla. Uzol menného priestoru a uzol atribútu sa nepovažujú za podradenú os uzla obsahu. Napríklad, dieťa :: tester softvéru.
- Rodičovská os : Vyberte nadradenú položku kontextového uzla (ak je kontextovým uzlom koreňový uzol, potom z nadradenej osi bude prázdny uzol.) Táto os je skrátená dvojitou bodkou (..). Výrazy (parent :: State) a (../State) sú ekvivalentné. Ak kontextový uzol nemá prvok ako nadradený, výsledkom tohto výrazu XPath bude prázdny uzol.
- Atribútová os : Vyberte atribút kontextového uzla. Os tohto atribútu je skrátená zavináčom (@). Ak kontextový uzol nie je uzlom prvku, výsledkom bude prázdny uzol. Výraz (atribút :: meno) a (@ meno) sú ekvivalentné.
- Os predkov : Vyberte rodiča kontextového uzla a je to rodič rodiča atď. Táto os obsahuje koreňový uzol, ak samotný kontextový uzol nie je koreňovým uzlom.
- Predok alebo seba: Vyberte kontextový uzol s jeho rodičom, rodičom jeho rodiča atď. A vždy vyberie koreňový uzol.
- Os potomka : Vyberte všetky deti kontextového uzla, deti ich detí atď. Podradenými prvkami kontextového uzla môžu byť prvky, komentáre, pokyny na spracovanie a textové uzly. Uzol menného priestoru a uzol atribútu sa pod osou potomka nezohľadňujú.
- Potomok alebo ja : Vyberte kontextový uzol a všetky podradené prvky kontextového uzla a všetky podradené prvky podradeného prvku zo všetkých kontextových uzlov atď. Rovnako ako v prípade vyššie uvedených prípadov sa zohľadňujú prvky, komentáre, pokyny na spracovanie a textové uzly a pod doménami kontextového uzla sa neberú do úvahy uzly menných priestorov a atribútov.
- Predchádzajúca os : Vyberte všetky uzly, ktoré prichádzajú pred kontextovým uzlom v celom dokumente, ktorý sa považuje za predchádzajúcu os. Obor mien, predkovia a uzol atribútu sa nepovažujú za predchádzajúcu os.
- Predchádzajúca súrodenecká os : Vyberte všetkých predchádzajúcich súrodencov kontextového uzla. Všetky uzly, ktoré sa objavujú pred kontextovým uzlom a tiež majú rovnakého rodiča ako kontextový uzol v dokumente XML. Predošlý súrodenec bude prázdny, ak je kontextovým uzlom priestor názvov alebo atribút.
- Po osi : Vyberte všetky uzly, ktoré nasledujú za kontextovým uzlom v dokumente XML. Menný priestor, atribút a potomkovia nie sú zohľadnení v tomto nasledujúcom zozname osí.
- Nasledujúca súrodenecká os : Vyberte všetkých nasledujúcich súrodencov kontextového uzla. Všetky uzly, ktoré nasledujú za kontextovým uzlom a majú tiež rovnakého rodiča ako kontextový uzol v dokumente XML, sa považujú za os nasledujúceho súrodenca. Výsledkom bude prázdna množina uzlov, ak je kontextovým uzlom priestor názvov alebo uzol atribútu.
- Menný priestor : Vyberte uzly priestoru mien kontextového uzla. Ak kontextový uzol nie je uzlom prvku, bude prázdny.
Datové typy v XPath
Ďalej sú uvedené rôzne dátové typy v XPath.
- Číslo: Čísla v XPath predstavujú číslo s pohyblivou rádovou čiarkou a sú implementované ako čísla s pohyblivou rádovou čiarkou IEEE 754. Celočíselný údajový typ sa v XPath neberie do úvahy.
- Boolean: Toto predstavuje buď hodnotu true, alebo false.
- Reťazec: To predstavuje nula alebo viac znakov.
- Sada uzlov: To predstavuje množinu nulových alebo viacerých uzlov.
Zástupné znaky v XPath
Nižšie sú uvedené zástupné znaky v XPath.
- Hviezdička (*) : Týmto sa vyberú všetky uzly prvkov kontextového uzla. Vyberie uzol textových uzlov, komentárov, pokynov na spracovanie a atribútov.
- Zavináč s hviezdičkou (@ *) : Týmto sa vyberú všetky uzly atribútov kontextového uzla.
- Uzol () : Týmto sa vyberú všetky uzly kontextového uzla. Vyberajú menné priestory, text, atribúty, prvky, komentáre a pokyny na spracovanie.
Operátori XPath
Poznámka: V nasledujúcej tabuľke e predstavuje akýkoľvek výraz XPath.
Operátorov | Popis | Príklad |
---|---|---|
e1! = e2 | Nerovná sa | @ meno! = ‘T1’ |
e1 + e2 | Sčítania (ak sú e1 a e2 čísla) | 5 + 2 |
e1 - e2 | Odčítanie (ak sú e1 a e2 čísla) | 10 - 4 |
e1 * e2 | Násobenie (ak sú e1 a e2 čísla) | 3. 4 |
e1 div e2 | Delenie (ak sú e1 a e2 čísla a výsledok bude v hodnote s pohyblivou rádovou čiarkou) | 4 diel 2 |
e1 | e2 | spojenie dvoch uzlov, ktoré zodpovedajú e1 a e2. | // Štát | //krajina |
e1 = e2 | Rovná sa | @ meno = „T1“ |
e1Test e1 je menší ako e2 (znamienko menej ako<’ must be excaped by ‘<’) | test = ”5<9” will result true(). | |
e1> e2 | Test e1 je väčší ako e2 (znamienko „>“ musí byť vylúštené znakom „>“) | test = ”5> 9” bude mať za následok hodnotu false (). |
e1<= e2 | Test e1 je menší alebo rovný e2. | test = ”5<= 9” will result false(). |
e1> = e2 | Test e1 je väčší alebo rovný e2. | test = ”5> = 9” bude mať za následok hodnotu false (). |
e1 alebo e2 | Vyhodnocuje sa, či sú buď e1 alebo e2 pravdivé. | |
e1 a e2 | Vyhodnocuje sa, či sú e1 aj e2 pravdivé. | |
e1 mod e2 | Vráti zvyšok s pohyblivou rádovou čiarkou z e1 vydelený e2. | 7 mod 2 |
Predikáty v XPath
Predikáty sa používajú ako filtre, ktoré obmedzujú uzly vybrané výrazom XPath. Každý predikát sa prevedie na boolovskú hodnotu buď true, alebo false, ak je to pravda pre daný XPath, potom sa daný uzol vyberie, ak je nepravdivý, uzol sa nevyberie.
Predikáty sa vždy nachádzajú v hranatých zátvorkách ako ().
Napríklad, softwareTester (@ name = ”T2 ″):
Týmto sa vyberie prvok, ktorý bol pomenovaný ako atribút s hodnotou T2.
Aplikácie XPath pri testovaní softvéru
XPath je veľmi užitočný pri testovaní automatizácie. Aj keď vykonávate ručné testovanie, znalosť XPaths vám bude veľmi užitočná, aby ste pochopili, čo sa deje na pozadí aplikácie.
c # otázky s rozhovorom s odpoveďami
Ak sa zúčastňujete testovania automatizácie, určite ste už počuli o štúdiu Appium, ktoré je jedným z najlepších automatizačných nástrojov na testovanie mobilných aplikácií. V tomto nástroji existuje jedna veľmi výkonná funkcia s názvom Funkcia XPath ktorá vám umožňuje identifikovať prvky konkrétnej stránky v rámci automatizačného skriptu.
Tu by sme chceli uviesť ďalší príklad z nástroja, ktorý pozná takmer každý softvérový tester, t. J. Selén. Znalosti jazyka XPath v prostredí Selenium IDE a Selenium WebDriver sú pre testerov nevyhnutnou zručnosťou.
XPath funguje ako lokátor prvkov. Kedykoľvek sa vyžaduje, aby ste na stránke našli konkrétny prvok a vykonali s ním nejakú akciu, musíte v cieľovom stĺpci skriptu selénu spomenúť jeho cestu XPath.
Ako vidíte na obrázku vyššie, ak vyberiete niektorý z prvkov webovej stránky a skontrolujete ich, získate možnosť „Kopírovať XPath“. Ako príklad sme si vzali webový prvok vyhľadávania Google prostredníctvom webového prehliadača Chrome a pri kopírovaní XPath, ako je to znázornené na obrázku vyššie, sme dostali nižšiu hodnotu:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Teraz, ak predpokladáme, že na tomto odkaze musíme vykonať akciu kliknutia, budeme musieť v skripte selénu poskytnúť príkaz kliknutia a cieľom príkazu kliknutia bude vyššie uvedený XPath. Používanie XPath sa neobmedzuje iba na vyššie uvedené dva nástroje. Existuje veľa oblastí a nástrojov na testovanie softvéru, v ktorých sa používa XPath.
Dúfame, že ste získali nestranný názor na dôležitosť protokolu XPath v oblasti testovania softvéru.
Záver
V tomto tutoriáli sme sa naučili XPath, Ako používať výraz XPath, Podpora výrazu XPath v rôznych jazykoch a nástrojoch. Dozvedeli sme sa, že XPath je možné použiť v akejkoľvek doméne vývoja softvéru a testovania softvéru.
Dozvedeli sme sa tiež rôzne datové typy XPath, rôzne osi použité v XPath spolu s ich využitím, typy uzlov použité v XPath, rôzne operátory a predikáty v XPath, rozdiel medzi relatívnym a absolútnym XPath, rôzne zástupné znaky použité v XPath atď.
Príjemné čítanie !!
Odporúčané čítanie
- Jednoduchý prístup k testovaniu XML na databázu
- Vynikajúci spôsob testovania údajov pomocou technológií XML (biela kniha)
- Uplatnenie v SOAteste s príkladom kódu XML
- Výukový program QTP # 16 - Kroky na vloženie kontrolných bodov XML, prístupnosti a databázy
- Najlepších 45 otázok a odpovedí na XML rozhovory pre rok 2021 (POSLEDNÉ)
- Rozdiel medzi serverom SQL Vs MySQL Vs SQL Server (s príkladmi)
- Príklad TestNG: Ako vytvoriť a používať súbor TestNG.xml
- Výukový program Cheat Sheet s návodom na písanie textu XPath so syntaxou a príkladmi