Co je XPath v selenu?

Jak všichni víme, že nyní se změnou trendu v softwarovém průmyslu byl rozsah ručního testování minimalizován a více testovacích případů je automatizováno, protože to nejen zvyšuje účinnost a přesnost, ale také zkracuje čas. Na trhu je k dispozici mnoho softwarových nástrojů pro vývoj a provádění automatizovaných testovacích skriptů. Selen je jedním z nich. Selen je open-source a možná nejpoužívanější sada pro testování automatizace používaná pro testování automatizace. Podporuje různé jazyky jako Php, Java, Perl, Python atd. Instalací ovladačů jednotlivých jazyků. Podporuje také více prohlížečů, jako je Chrome, Mozilla Firefox, IE1, Edge, Opera, atd.

XPath je zkratka pro XML Path Language. Ve Selenu není XPath nic jiného než normální cesta XML, která se používá k vyhledání jakéhokoli prvku na webové stránce pomocí výrazu cesty XML. Pro provedení jakékoli operace, jako je kliknutí na tlačítko, zápis do textového pole, výběr jakéhokoli pole atd., První věcí je najít umístění tohoto webového prvku v dokumentu a v selenu, Xpath pomůže najít tuto cestu. XPath používá strukturu HTML DOM při shromažďování cesty jakéhokoli prvku na webové stránce. Má výraz cesty napsaný spolu s některými podmínkami. XPath je doporučení W3C,

Syntaxe XPath ve selenu

Níže je uvedena syntaxe XPath ve selenu:

Xpath = //Tagname(@Atrribute=value)

kde,

  • //: Používá se k výběru aktuálního uzlu.
  • Tagname: Určuje název značky konkrétního uzlu, například img, div, input atd.
  • @: Vybere atribut.
  • Atribut: Určuje název atributu uzlu.
  • Hodnota: Určuje hodnoty atributů uzlu.

K nalezení webových prvků se v Xpath používají různé lokátory:

  • Id: Vyhledá webový prvek podle ID tohoto prvku. (ID je jedinečné pro každý webový prvek).
  • Název: Vyhledá webový prvek podle názvu tohoto prvku.
  • Název třídy: Vyhledá webový prvek podle názvu třídy tohoto prvku.
  • Text odkazu: Vyhledá webový prvek podle textu napsaného na odkazu tohoto prvku.
  • Cesta CSS: Prvky bez názvu, id, názvu třídy jsou určeny cestou CSS vytvořenou testery / vývojáři.

Typy XPath ve selenu

V Selenu jsou v podstatě dva typy XPath, které jsou popsány níže:

1. Absolutní XPath

Je to jeden z nejjednodušších a přímých způsobů, jak najít webový prvek v dokumentu. Vybere cestu prvku z kořenového uzlu a vezme cestu, dokud prvek pokrývá všechny oddíly v dokumentu, včetně div, section, li, atd. Začíná jednoduchým lomítkem '/' určujícím kořenovou úroveň. Jedinou nevýhodou použití Absolutní cesty ve Selenu je, že pokud dojde ke změnám na webových stránkách nebo v dokumentu, změní se celý XPath daného prvku, a proto předchozí cesta nebude fungovat a celý program selže.

Příklad:

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

Pokud byly nějaké změny provedené v dokumentu HTML a umístění prvků div změněny, předchozí XPath se nezdaří.

2. Relativní XPath

Jednou z nevýhod Absolutního XPath kromě úpravy jsou příliš zdlouhavé cesty, relativní cesty jsou v takových situacích spasitelem. Relativní cesta se používá k definování cesty prvku od středu struktury HTML DOM. Na rozdíl od Absolute XPaths není nutné definovat cestu z kořenové úrovně, což zase snižuje celkovou délku XPath. Začíná to dvojitým lomítkem '//', tj. Výběrem webového prvku odkudkoli v dokumentu.

Příklad:

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

XPath Funkce ve selenu

Níže jsou uvedeny některé z funkcí XPath používaných v selenu:

1. Obsahuje (): Je to metoda, která se používá ve výrazu XPath a používá se k vyhledání prvku s částečným textem v případě, že hledaný text je příliš dlouhý a hodnota atributu se při opětovném načtení dynamicky mění.

Příklad:

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

2. Následující: Tato metoda vybere všechny prvky aktuálního uzlu ve struktuře HTML DOM.

Příklad:

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

3. Předek: Tato metoda se používá k výběru všech prvků předků z aktuálního uzlu. Předkem mohou být prarodiče, rodiče aktuálního uzlu v dokumentu HTML.

Příklad:

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

Najde všechny předky aktuálního webového prvku, které odpovídají kritériím textu () = 'Úvod' s tagem div.

4. Podřízený: Tato metoda se používá ve scénářích, ve kterých chceme vybrat podřízené prvky aktuálního uzlu v dokumentu HTML.

Příklad:

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

5. Pokračování: Tato metoda se používá k výběru všech uzlů, které postupují k aktuálnímu uzlu, nebo k uzlům, které předcházejí aktuálnímu uzlu.

Příklad:

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

6. Následující sourozenec: Tato metoda se používá k nalezení sourozenců, kteří jsou na stejné úrovni jako aktuální uzel.

Příklad:

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

7. Nadřazený: Tato metoda se používá k vyhledání nadřazeného aktuálního uzlu v dokumentu HTML.

Příklad:

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

8. Vlastní: Tato metoda se používá k vyhledání sebe sama v dokumentu HTML. Self znamená pouze aktuální uzel.

Příklad:

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

9. Potomek : Tato metoda se používá k nalezení potomků aktuálního uzlu v dokumentu HTML.

Příklad:

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

10. Start-with: Tato metoda se používá ve scénářích, když chceme sladit počáteční text atributů a když musíme najít webový prvek, když se atribut dynamicky mění při obnovování a opětovném načtení webové stránky.

Příklad:

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

Závěr

Výše uvedené jsou některé typy XPath a různé funkce používané v Selenium pro XPath. Tyto funkce usnadňují práci s XPaths jako nejdůležitější krok pro automatizaci lokalizace webového prvku pomocí XPath. Různé lokátory, jako je id, jméno, cesta CSS, text odkazu, se používají v XPath k vyhledání webových prvků na webové stránce. Znalosti a různé způsoby hledání XPath jsou velmi důležité při práci s automatizačním testováním pomocí selenu nebo jiného nástroje.

Doporučené články

Toto je průvodce Co je XPath v selenu ?. Zde diskutujeme základní pojmy, syntaxi, typy a funkce XPath ve Selenu s jejich příklady. Další informace naleznete také v následujícím článku -

  1. Top 10 použití selenu
  2. Jak nainstalovat selen Kroky
  3. Selenové alternativy Komponenty
  4. Co je Selenium Web Driver?
  5. Co je XPath?

Kategorie: