comprehensive xpath tutorial xml path language
Naučte se vše o XML Path Language (XPath) s příklady. Tento výukový program XPath pokrývá použití a typy XPath, operátory XPath, osy a aplikace při testování:
Termín XPath znamená XML Path Language. Jedná se o dotazovací jazyk používaný pro výběr různých uzlů v dokumentu XML.
Protože SQL se používá jako dotazovací jazyk pro různé databáze ( Například, SQL lze použít v databázi jako MySQL, Oracle, DB2 atd.), XPath lze také použít pro různé jazyky a nástroje ( Například, jazyky jako XSLT, XQuery, XLink, XPointer atd. a nástroje jako MarkLogic, nástroje pro testování softwaru jako selen atd.)
Co se naučíte:
XPath - Přehled
Xpath je v podstatě jazyk pro navigaci v dokumentech XML a při diskusi o navigaci to znamená pohyb v dokumentu XML libovolným směrem, přechod k libovolnému prvku nebo libovolnému atributu a textovému uzlu. XPath je doporučený jazyk konsorcia World Wide Web Consortium (W3C).
Kde můžeme použít XPath?
XPath lze použít jak v odvětví vývoje softwaru, tak v odvětví testování softwaru.
jak otevřít soubor jar s java
Pokud se nacházíte v doméně Testování softwaru, můžete použít XPath pro vývoj automatizačních skriptů v selenu, nebo pokud jste ve vývojové doméně, téměř všechny programovací jazyky mají podporu XPath.
XSLT se používá převážně v doméně převodu obsahu XML a pro převod používá XPath. XSLT úzce spolupracuje s XPath a některými dalšími jazyky, jako je XQuery a XPointer.
Typy uzlu XPath
Níže jsou uvedeny různé typy uzlu XPath.
# 1) Uzly prvků: Jedná se o uzly, které přicházejí přímo pod kořenový uzel. Uzel prvku může obsahovat atributy. Představuje značku XML. Jak je uvedeno v následujícím příkladu: Softwarový tester, stát, země jsou uzly prvků.
# 2) Atributové uzly :To definuje vlastnost / atribut uzlu prvku. Může být pod uzlem prvku i kořenovým uzlem. Uzly prvků jsou rodiči těchto uzlů. Jak je uvedeno v následujícím příkladu: „name“ je uzel atributu uzlu prvku (softwarový tester). Zkratka pro označení uzlů atributů je „@“.
# 3) Textové uzly :Všechny texty, které přicházejí mezi uzly prvků, jsou známé jako textové uzly, jako v příkladu níže „Dillí“, „Indie“, „Chennai“ jsou textové uzly.
# 4) Uzly komentářů :To je něco, co tester nebo vývojář píše, aby vysvětlil kód, který není zpracován programovacími jazyky. Mezi tyto otevírací a zavírací značky přicházejí komentáře (nějaký text):
# 5) Jmenné prostory :T “; 0j89 //// / tyto se používají k odstranění nejednoznačnosti mezi více než jednou sadou názvů prvků XML. Například, v XSLT se použije výchozí jmenný prostor jako (XSL :).
# 6) Pokyny ke zpracování :Obsahují pokyny, které lze použít v aplikacích ke zpracování. Přítomnost těchto pokynů ke zpracování může být kdekoli v dokumentu. Ty přicházejí mezi.
# 7) Kořenový uzel :To definuje nejvyšší uzel prvku, který obsahuje všechny podřízené prvky uvnitř. Kořenový uzel nemá nadřazený uzel. V níže uvedeném příkladu XML je kořenový uzel „SoftwareTestersList“. K výběru kořenového uzlu používáme lomítko, tj. „/“.
výkonnostní testovací otázky pro zkušené
Pro vysvětlení výše uvedených pojmů napíšeme základní program XML.
Delhi India chennai India
Atomové hodnoty : Všechny ty uzly, které nemají ani podřízené uzly, ani nadřazené uzly, jsou známé jako atomové hodnoty.
Kontextový uzel : Toto je konkrétní uzel v dokumentu XML, na kterém jsou výrazy hodnoceny. Mohlo by to být také považováno za aktuální uzel a zkráceno jedinou tečkou (.).
Velikost kontextu : Toto je počet dětí rodiče nadřazeného uzlu. Například, pokud je kontextový uzel jedním z pátých dětí jeho rodiče, pak je kontextová velikost pět.
Absolutní Xpath: Toto je výraz XPath v dokumentu XML, který začíná kořenovým uzlem nebo znakem „/“, Například, / SoftwareTestersList / softwareTester / @ name = ”T1 ″
Relativní XPath: Pokud výraz XPath začíná vybraným kontextovým uzlem, pak je považován za relativní XPath. Například, pokud je softwarovým testerem aktuálně vybraný uzel, pak / @ name = ”T1” je považován za relativní XPath.
Osy v XPath
- Vlastní osa : Vyberte kontextový uzel. Výraz XPath self :: * a. jsou rovnocenné. Toto je zkráceno o jednu tečku (.)
- Dětská osa : Vyberte podřízené prvky kontextového uzlu. Prvky, komentáře, textové uzly a instrukce pro zpracování jsou považovány za podřízené položky kontextového uzlu. Uzel oboru názvů a uzel atributu se nepovažují za podřízenou osu uzlu obsahu. Například, dítě :: tester softwaru.
- Nadřazená osa : Vyberte nadřazený prvek kontextového uzlu (pokud je kontextovým uzlem kořenový uzel, bude mít nadřazená osa za následek prázdný uzel.) Tato osa je zkrácena dvojitou tečkou (..). Výrazy (parent :: State) a (../State) jsou ekvivalentní. Pokud kontextový uzel nemá prvek jako nadřazený, bude tento výraz XPath mít za následek prázdný uzel.
- Osa atributu : Vyberte atribut kontextového uzlu. Tato osa atributu je zkrácena zavináčem (@). Pokud kontextový uzel není uzlem prvku, bude výsledkem prázdný uzel. Výraz (attribute :: name) a (@name) jsou ekvivalentní.
- Osa předka : Vyberte nadřazeného prvku kontextového uzlu a jeho nadřazeného nadřazeného prvku atd. Tato osa obsahuje kořenový uzel, pokud samotný kontextový uzel není kořenový uzel.
- Předek nebo já: Vyberte kontextový uzel s jeho nadřazeným prvkem, nadřazeným nadřízeným atd. A vždy vybere kořenový uzel.
- Potomek osa : Vyberte všechny děti kontextového uzlu, děti jejich dětí atd. Potomky kontextového uzlu mohou být prvky, komentáře, pokyny ke zpracování a textové uzly. Uzel oboru názvů a uzel atributu se pod osou potomka nepovažují.
- Potomek nebo já : Vyberte kontextový uzel a všechny podřízené položky kontextového uzlu a všechny podřízené položky podřízeného prvku ze všech kontextových uzlů atd. Stejně jako ve výše uvedených případech jsou považovány prvky, komentáře, pokyny ke zpracování a textové uzly a uzly jmenných prostorů a atributů nejsou považovány za podřízené objekty kontextového uzlu.
- Předcházející osa : Vyberte všechny uzly, které přicházejí před kontextový uzel v celém dokumentu, který je považován za předchozí osu. Obor názvů, předci a uzel atributu se nepovažují za předchozí osu.
- Předcházející sourozenecká osa : Vyberte všechny předchozí sourozence kontextového uzlu. Všechny uzly, které se objevují před kontextovým uzlem a mají také stejného rodiče jako kontextový uzel v dokumentu XML. Předchozí sourozenec bude mít za následek prázdný, pokud je kontextovým uzlem obor názvů nebo atribut.
- Následující osa : Vyberte všechny uzly, které následují za kontextovým uzlem v dokumentu XML. Obor názvů, atribut a potomci nejsou v tomto následujícím seznamu os uvažováni.
- Osa následného sourozence : Vyberte všechny následující sourozence kontextového uzlu. Všechny uzly, které přicházejí za kontextovým uzlem a mají také stejného rodiče jako kontextový uzel v dokumentu XML, jsou považovány za osu následujícího sourozence. Výsledkem bude prázdná sada uzlů, pokud je kontextovým uzlem obor názvů nebo uzel atributu.
- Jmenný prostor : Vyberte uzly oboru názvů kontextového uzlu. Výsledkem bude prázdný, pokud kontextový uzel není uzlem prvku.
Datové typy v XPath
Níže jsou uvedeny různé datové typy v XPath.
- Číslo: Čísla v XPath představují číslo s plovoucí desetinnou čárkou a jsou implementovány jako čísla s plovoucí desetinnou čárkou IEEE 754. Celočíselný datový typ v XPath nebere v úvahu.
- Boolean: To představuje buď true, nebo false.
- Tětiva: To představuje nula nebo více znaků.
- Sada uzlů: To představuje sadu nula nebo více uzlů.
Zástupné znaky v XPath
Níže jsou uvedeny zástupné znaky v XPath.
- Hvězdička (*) : Tím vyberete všechny uzly prvků kontextového uzlu. Vybírá uzel textových uzlů, komentářů, pokynů ke zpracování a atributů.
- Zavináč s hvězdičkou (@ *) : Tím vyberete všechny uzly atributů kontextového uzlu.
- Uzel() : Tím vyberete všechny uzly kontextového uzlu. Jedná se o výběr jmenných prostorů, textu, atributů, prvků, komentářů a pokynů ke zpracování.
Operátoři XPath
Poznámka: V níže uvedené tabulce e znamená libovolný výraz XPath.
Operátoři | Popis | Příklad |
---|---|---|
e1! = e2 | Není to stejné | @ jméno! = „T1“ |
e1 + e2 | Sčítání (jsou-li e1 a e2 čísla) | 5 + 2 |
e1 - e2 | Odečtení (jsou-li e1 a e2 čísla) | 10 - 4 |
e1 * e2 | Násobení (pokud jsou e1 a e2 čísla) | 3. 4 |
e1 div e2 | Dělení (pokud jsou e1 a e2 čísla a výsledek bude v hodnotě s plovoucí desetinnou čárkou) | 4 div 2 |
e1 | e2 | spojení dvou uzlů, které odpovídají e1 a e2. | // Stát | //země |
e1 = e2 | Rovná se | @ jméno = „T1“ |
e1Test e1 je menší než e2 (znaménko menší než „<’ must be excaped by ‘<’) | test = ”5<9” will result true(). | |
e1> e2 | Test e1 je větší než e2 (znaménko „>“ musí být vyraženo „>“) | test = ”5> 9” bude mít za následek false (). |
e1<= e2 | Test e1 je menší nebo roven e2. | test = ”5<= 9” will result false(). |
e1> = e2 | Test e1 je větší nebo roven e2. | test = ”5> = 9” bude mít za následek false (). |
e1 nebo e2 | Vyhodnoceno, zda jsou pravdivé buď e1 nebo e2. | |
e1 a e2 | Vyhodnoceno, pokud jsou pravdivé e1 i e2. | |
e1 mod e2 | Vrátí zbytek s plovoucí desetinnou čárkou e1 dělený e2. | 7 mod 2 |
Predikáty v XPath
Predikáty se používají jako filtry, které omezují uzly vybrané výrazem XPath. Každý predikát je převeden na booleovskou hodnotu buď true, nebo false, pokud je pro daný XPath pravdivý, pak bude tento uzel vybrán, pokud je nepravdivý, uzel nebude vybrán.
Predikáty vždy přicházejí do hranatých závorek jako ().
Například, softwareTester (@ name = ”T2 ″):
Tím se vybere prvek, který byl pojmenován jako atribut s hodnotou T2.
Aplikace XPath při testování softwaru
XPath je velmi užitečný při testování automatizace. I když provádíte ruční testování, znalosti XPaths budou velmi užitečné, aby vám pomohly pochopit, co se děje na pozadí aplikace.
funkční testování vs. nefunkční testování
Pokud se účastníte testování automatizace, určitě jste slyšeli o studiu Appium, které je jedním z nejlepších automatizačních nástrojů pro testování mobilních aplikací. V tomto nástroji existuje jedna velmi výkonná funkce s názvem Funkce XPath což vám umožní identifikovat prvky konkrétní stránky v celém automatizačním skriptu.
Rádi bychom zde citovali další příklad z nástroje, který zná téměř každý tester softwaru, tj. Selen. Znalost XPath v Selenium IDE a Selenium WebDriver je pro testery nutností.
XPath funguje jako vyhledávač prvků. Kdykoli se od vás vyžaduje, abyste na stránce našli konkrétní prvek a provedli nad ním nějakou akci, musíte v cílovém sloupci skriptu selenu uvést jeho XPath.
Jak je vidět na obrázku výše, pokud vyberete jakýkoli prvek webové stránky a zkontrolujete jej, získáte možnost „Kopírovat XPath“. Jako příklad byl vzat z webového prvku vyhledávání Google prostřednictvím webového prohlížeče Chrome a při kopírování XPath, jak je znázorněno na obrázku výše, jsme dostali níže uvedenou hodnotu:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Nyní, pokud předpokládáme, že na tomto odkazu musíme provést akci kliknutí, budeme muset ve skriptu selenu poskytnout příkaz kliknutí a cílem příkazu kliknutí bude výše uvedený XPath. Použití XPath se neomezuje pouze na výše uvedené dva nástroje. Existuje mnoho oblastí a nástrojů testování softwaru, ve kterých se používá XPath.
Doufáme, že jste získali nestranný názor na důležitost XPath v oblasti testování softwaru.
Závěr
V tomto kurzu jsme se dozvěděli o XPath, Jak používat výraz XPath, Podpora výrazu XPath v různých jazycích a nástrojích. Zjistili jsme, že XPath lze použít v jakékoli doméně vývoje softwaru a testování softwaru.
Také jsme se naučili různé datové typy XPath, různé osy používané v XPath spolu s jejich použitím, typy uzlů používané v XPath, různí operátoři a predikáty v XPath, rozdíl mezi relativním a absolutním XPath, různé zástupné znaky používané v XPath atd.
Šťastné čtení!!
Doporučené čtení
- Jednoduchý přístup pro testování XML k databázi
- Vynikající způsob testování dat pomocí technologií XML (bílá kniha)
- Tvrzení v SOAtestu s příkladem kódu XML
- Výukový program QTP č. 16 - Kroky k vložení kontrolních bodů XML, přístupnosti a databáze
- Top 45 XML Interview Questions and Answers for 2021 (LATEST)
- Rozdíl mezi SQL Vs MySQL Vs SQL Server (s příklady)
- Příklad TestNG: Jak vytvořit a použít soubor TestNG.xml
- Výukový program Cheat Sheet pro výuku XPath se syntaxí a příklady