Co to jest XPath w Selenium?

Jak wszyscy wiemy, że wraz ze zmianą trendu w branży oprogramowania zakres ręcznego testowania został zminimalizowany, a więcej przypadków testowych jest zautomatyzowanych, ponieważ nie tylko zwiększa wydajność i dokładność, ale także skraca czas. Na rynku dostępnych jest wiele narzędzi do opracowywania i wykonywania automatycznych skryptów testowych. Selen jest jednym z nich. Selenium jest oprogramowaniem typu open source i być może najczęściej stosowanym pakietem do testowania automatyki używanym do testowania automatyki. Obsługuje różne języki, takie jak Php, Java, Perl, Python itp., Instalując sterowniki poszczególnych języków. Obsługuje również wiele przeglądarek, takich jak Chrome, Mozilla Firefox, IE1, Edge, przeglądarka Opera itp.

XPath oznacza XML Path Language. W Selenium XPath jest niczym innym jak zwykłą ścieżką XML, która służy do zlokalizowania dowolnego elementu na stronie internetowej za pomocą wyrażenia ścieżki XML. Aby wykonać dowolną operację, taką jak kliknięcie przycisku, pisanie w polu tekstowym, wybranie dowolnego pola itp., Pierwszą rzeczą jest znalezienie lokalizacji tego elementu internetowego w dokumencie oraz w Selenium, Xpath pomaga zlokalizować tę ścieżkę. XPath używa struktury HTML DOM podczas zbierania ścieżki dowolnego elementu na stronie internetowej. Ma wyrażenie ścieżki zapisane wraz z pewnymi warunkami. XPath jest zaleceniem W3C,

Składnia XPath w Selenium

Poniżej podano składnię XPath w Selenium:

Xpath = //Tagname(@Atrribute=value)

gdzie,

  • //: Służy do wyboru bieżącego węzła.
  • Zmienna: Określa nazwę znacznika określonego węzła, takiego jak img, div, input itp.
  • @: Wybiera atrybut.
  • Atrybut: określa nazwę atrybutu węzła.
  • Wartość: określa wartości atrybutów węzła.

Różne lokalizatory są używane w Xpath do lokalizowania elementów internetowych:

  • Id: Znajduje element sieciowy na podstawie identyfikatora tego elementu. (Identyfikator jest unikalny dla każdego elementu sieci).
  • Nazwa: Znajduje element sieciowy według nazwy tego elementu.
  • Nazwa klasy: Znajduje element sieciowy według nazwy klasy tego elementu.
  • Tekst linku: Znajduje element sieciowy na podstawie tekstu zapisanego na łączu tego elementu.
  • Ścieżka CSS: Elementy nieposiadające nazwy, identyfikatora ani nazwy klasy można znaleźć poprzez ścieżkę CSS utworzoną przez testerów / programistów.

Rodzaje XPath w Selenium

Istnieją dwa typy XPath w Selenium, które opisano poniżej:

1. Absolutna XPath

Jest to jeden z najprostszych i bezpośrednich sposobów zlokalizowania elementu WWW w dokumencie. Wybiera ścieżkę elementu z węzła głównego i pobiera ścieżkę do elementu obejmującego wszystkie sekcje w dokumencie, w tym div, section, li itp. Zaczyna się od pojedynczego ukośnika „/” określającego poziom root. Jedyną wadą korzystania z Absolute Path w Selenium jest to, że jeśli jakiekolwiek zmiany zostaną wprowadzone na stronie internetowej lub w dokumencie, wówczas zmieni się cały XPath tego elementu, a zatem poprzednia ścieżka nie będzie działać i cały program się nie powiedzie.

Przykład:

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

Jeśli jakiekolwiek zmiany dokonane w dokumencie HTML i pozycja elementów div zostały zmienione, poprzednia XPath się nie powiedzie.

2. Względna XPath

Jedną z wad Absolute XPath oprócz modyfikacji są zbyt długie ścieżki, ścieżki względne są wybawicielem w takich sytuacjach. Ścieżka względna służy do definiowania ścieżki elementu ze środka struktury DOM HTML. W przeciwieństwie do Absolutnych XPathów, nie jest konieczne definiowanie ścieżki z poziomu głównego, co z kolei zmniejsza całkowitą długość XPath. Zaczyna się od podwójnego ukośnika „//”, tzn. Wybrania elementu internetowego z dowolnego miejsca w dokumencie.

Przykład:

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

Funkcje XPath w Selenium

Poniżej podano niektóre z funkcji XPath używanych w Selenium:

1. Contains (): Jest to metoda używana w wyrażeniu XPath, która służy do zlokalizowania elementu z tekstem częściowym w przypadku, gdy tekst do przeszukania jest zbyt długi, a wartość atrybutu zmienia się dynamicznie przy przeładowaniu.

Przykład:

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

2. Po: Ta metoda wybiera wszystkie elementy bieżącego węzła w strukturze HTML DOM.

Przykład:

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

3. Przodek: Ta metoda służy do wyboru wszystkich elementów przodka z bieżącego węzła. Przodkiem mogą być dziadkowie, rodzice bieżącego węzła w dokumencie HTML.

Przykład:

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

Znajdzie wszystkich przodków bieżącego elementu sieci spełniających kryteria text () = 'Introduction' posiadające znacznik div.

4. Dziecko: Ta metoda jest używana w scenariuszach, w których chcemy wybrać elementy potomne bieżącego węzła w dokumencie HTML.

Przykład:

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

5. Postępowanie: Ta metoda służy do wybierania wszystkich węzłów prowadzących do bieżącego węzła lub tych, które znajdują się przed bieżącym węzłem.

Przykład:

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

6. Następujące rodzeństwo: Ta metoda służy do lokalizowania rodzeństwa znajdującego się na tym samym poziomie, co bieżący węzeł.

Przykład:

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

7. Nadrzędny: Ta metoda służy do zlokalizowania nadrzędnego bieżącego węzła w dokumencie HTML.

Przykład:

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

8. Własna: Ta metoda służy do zlokalizowania się w dokumencie HTML. Self oznacza tylko bieżący węzeł.

Przykład:

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

9. Potomek: Ta metoda służy do znajdowania potomków bieżącego węzła w dokumencie HTML.

Przykład:

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

10. Start-with: Ta metoda jest stosowana w scenariuszach, w których chcemy dopasować tekst początkowy atrybutów i kiedy musimy zlokalizować element WWW, gdy atrybut zmienia się dynamicznie po odświeżeniu i przeładowaniu strony internetowej.

Przykład:

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

Wniosek

Powyżej wspomniano niektóre typy XPath i różne funkcje używane w Selenium dla XPath. Funkcje te ułatwiają pracę z XPaths jako najważniejszym krokiem do zautomatyzowania lokalizacji elementu WWW za pomocą XPath. Różne lokalizatory, takie jak identyfikator, nazwa, ścieżka CSS, tekst linku są używane w XPath do lokalizowania elementów internetowych na stronie internetowej. Wiedza i różne sposoby znalezienia XPath są bardzo ważne podczas pracy z testami automatyzacji przy użyciu Selenium lub dowolnego innego narzędzia.

Polecane artykuły

To jest przewodnik po Co to jest XPath w Selenium ?. Tutaj omawiamy podstawową koncepcję, składnię, typy i funkcje XPath w Selenium wraz z jego przykładami. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. 10 najlepszych zastosowań selenu
  2. Jak zainstalować Selenium | Kroki
  3. Selen Alternatywy | składniki
  4. Co to jest Selenium Web Driver?
  5. Co to jest XPath?