comprehensive xpath tutorial xml path language
Dowiedz się wszystkiego o języku XML Path (XPath) z przykładami. Ten samouczek XPath obejmuje zastosowania i typy XPath, operatorów XPath, osi i aplikacji w testowaniu:
Termin XPath oznacza XML Path Language. Jest to język zapytań używany do wybierania różnych węzłów w dokumencie XML.
Ponieważ SQL jest używany jako język zapytań dla różnych baz danych ( Na przykład, SQL może być używany w bazach danych, takich jak MySQL, Oracle, DB2 itp.), XPath może być również używany dla różnych języków i narzędzi ( Na przykład, języki takie jak XSLT, XQuery, XLink, XPointer itp. oraz narzędzia takie jak MarkLogic, narzędzia do testowania oprogramowania, takie jak Selenium itp.)
Czego się nauczysz:
XPath - przegląd
Xpath jest językiem służącym do nawigacji po dokumentach XML, a mówiąc o nawigacji, oznacza poruszanie się w dokumencie XML w dowolnym kierunku, przechodzenie do dowolnego elementu lub dowolnego węzła atrybutu i tekstu. XPath jest zalecanym językiem konsorcjum World Wide Web Consortium (W3C).
Gdzie możemy używać XPath?
XPath może być używany zarówno w branży tworzenia oprogramowania, jak iw branży testowania oprogramowania.
jakie są różne rodzaje testów
Jeśli jesteś w domenie testowania oprogramowania, możesz użyć XPath do tworzenia skryptów automatyzacji w Selenium lub jeśli jesteś w domenie programistycznej, to prawie wszystkie języki programowania obsługują XPath.
XSLT jest używany głównie w domenie konwersji treści XML i używa XPath do konwersji. XSLT ściśle współpracuje z XPath i niektórymi innymi językami, takimi jak XQuery i XPointer.
Typy węzłów XPath
Poniżej wymieniono różne typy węzłów XPath.
# 1) Węzły elementów: Są to węzły, które znajdują się bezpośrednio pod węzłem głównym. Węzeł elementu może zawierać atrybuty. Reprezentuje tag XML. Jak podano w poniższym przykładzie: Software Tester, State, Country to węzły elementów.
# 2) Węzły atrybutów :Definiuje właściwość / atrybut węzła elementu. Może znajdować się pod węzłem elementu lub węzłem głównym. Węzły elementów są rodzicami tych węzłów. Jak podano w poniższym przykładzie: „nazwa” to węzeł atrybutów węzła elementu (tester oprogramowania). Skrótem oznaczającym węzły atrybutów jest „@”.
# 3) Węzły tekstowe :Wszystkie teksty, które pojawiają się pomiędzy węzłem elementu, są znane jako węzły tekstowe, tak jak w poniższym przykładzie „Delhi”, „Indie”, „Chennai” to węzły tekstowe.
# 4) Węzły komentarzy :To jest coś, co tester lub programista pisze, aby wyjaśnić kod, który nie jest przetwarzany przez języki programowania. Komentarze (trochę tekstu) znajdują się między tymi tagami otwierającymi i zamykającymi:
# 5) Przestrzenie nazw :T ”; 0j89 //// / służą do usuwania niejednoznaczności między więcej niż jednym zestawem nazw elementów XML. Na przykład, w XSLT domyślna przestrzeń nazw jest używana jako (XSL :).
# 6) Instrukcje dotyczące przetwarzania :Zawierają one instrukcje, które można wykorzystać w aplikacjach do przetwarzania. Te instrukcje przetwarzania mogą znajdować się w dowolnym miejscu dokumentu. Te są pomiędzy.
# 7) Węzeł główny :Definiuje najwyższy węzeł elementu, który zawiera wszystkie elementy podrzędne w nim. Węzeł główny nie ma węzła nadrzędnego. W poniższym przykładzie XML węzeł główny to „SoftwareTestersList”. Aby wybrać węzeł główny, używamy ukośnika, czyli „/”.
jak wykonać cross-site scripting
Napiszemy podstawowy program XML, aby wyjaśnić powyższe terminy.
Delhi India chennai India
Wartości atomowe : Wszystkie te węzły, które nie mają ani węzłów potomnych, ani macierzystych, są nazywane wartościami atomowymi.
Węzeł kontekstowy : To jest konkretny węzeł w dokumencie XML, w którym są oceniane wyrażenia. Można go również uznać za bieżący węzeł i skrócić go pojedynczą kropką (.).
Rozmiar kontekstu : Jest to liczba dzieci rodzica węzła kontekstu. Na przykład, jeśli węzeł kontekstowy jest jednym z piątych dzieci swojego rodzica, wówczas rozmiar kontekstu wynosi pięć.
Absolute Xpath: To jest wyrażenie XPath w dokumencie XML, które zaczyna się od węzła głównego lub „/”, Na przykład, / SoftwareTestersList / softwareTester / @ name = ”T1 ″
Względna XPath: Jeśli wyrażenie XPath zaczyna się od wybranego węzła kontekstu, wówczas jest ono traktowane jako względna XPath. Na przykład, jeśli tester oprogramowania jest aktualnie wybranym węzłem, wówczas / @ name = ”T1” jest traktowane jako względna ścieżka XPath.
Osie w XPath
- Oś własna : Wybierz węzeł kontekstowy. Wyrażenie XPath self :: * i. są równoważne. Jest to skracane przez pojedynczą kropkę (.)
- Oś dziecka : Wybierz dzieci węzła kontekstowego. Elementy, komentarze, węzły tekstowe i instrukcje przetwarzania są traktowane jako elementy potomne węzła kontekstowego. Węzeł przestrzeni nazw i węzeł atrybutów nie są traktowane jako oś potomna węzła zawartości. Na przykład, child :: tester oprogramowania.
- Oś nadrzędna : Wybierz rodzica węzła kontekstu (jeśli węzeł kontekstu jest węzłem głównym, wówczas oś nadrzędna spowoduje powstanie pustego węzła). Oś ta jest skracana przez podwójną kropkę (..). Wyrażenia (parent :: State) i (../State) są równoważne. Jeśli węzeł kontekstu nie ma elementu jako elementu nadrzędnego, to wyrażenie XPath spowoduje powstanie pustego węzła.
- Oś atrybutu : Wybierz atrybut węzła kontekstu. Ta oś atrybutu jest skracana przez znak at (@). Jeśli węzeł kontekstu nie jest węzłem elementu, spowoduje to pusty węzeł. Wyrażenie (atrybut :: nazwa) i (@nazwa) są równoważne.
- Oś przodka : Wybierz rodzica węzła kontekstu oraz jego rodzica i tak dalej. Ta oś zawiera węzeł główny, jeśli sam węzeł kontekstu nie jest węzłem głównym.
- Przodek lub ja: Wybierz węzeł kontekstu z jego rodzicem, jego rodzicem i tak dalej, a zawsze wybierze węzeł główny.
- Oś potomna : Zaznacz wszystkie dzieci węzła kontekstu, dzieci ich dzieci i tak dalej. Elementami podrzędnymi węzła kontekstu mogą być elementy, komentarze, instrukcje przetwarzania i węzły tekstowe. Węzeł przestrzeni nazw i węzeł atrybutów nie są uwzględniane pod osią potomną.
- Descendant-or-self : Wybierz węzeł kontekstu i wszystkie elementy podrzędne węzła kontekstu oraz wszystkie elementy podrzędne wszystkich elementów podrzędnych wszystkich węzłów kontekstu i tak dalej. Podobnie jak w powyższym przypadku elementy, komentarze, instrukcje przetwarzania i węzły tekstowe są brane pod uwagę, a przestrzenie nazw i węzły atrybutów nie są uwzględniane jako elementy potomne węzła kontekstu.
- Oś poprzedzająca : Wybierz wszystkie węzły, które znajdują się przed węzłem kontekstu w całym dokumencie, który jest uważany za poprzednią oś. Przestrzeń nazw, elementy nadrzędne i węzeł atrybutów nie są traktowane jako poprzednia oś.
- Oś poprzedzająca-rodzeństwo : Wybierz wszystkie poprzednie elementy rodzeństwa węzła kontekstu. Wszystkie węzły, które pojawiają się przed węzłem kontekstu, a także mają tego samego rodzica, co węzeł kontekstu w dokumencie XML. Poprzedni element równorzędny będzie pusty, jeśli węzeł kontekstu jest przestrzenią nazw lub atrybutem.
- Podążanie osią : Wybierz wszystkie węzły, które znajdują się po węźle kontekstu w dokumencie XML. Przestrzeń nazw, atrybut i potomkowie nie są uwzględniani na poniższej liście osi.
- Podążająca oś rodzeństwa : Wybierz wszystkie następujące elementy rodzeństwa węzła kontekstu. Wszystkie węzły, które znajdują się za węzłem kontekstu, a także mają tego samego rodzica, co węzeł kontekstu w dokumencie XML, są traktowane jako następna oś siostrzana. Spowoduje to powstanie pustego zestawu węzłów, jeśli węzeł kontekstu jest przestrzenią nazw lub węzłem atrybutów.
- Przestrzeń nazw : Wybierz węzły przestrzeni nazw węzła kontekstu. Spowoduje to, że będzie pusty, jeśli węzeł kontekstu nie jest węzłem elementu.
Typy danych w XPath
Poniżej podano różne typy danych w XPath.
- Numer: Liczby w XPath reprezentują liczby zmiennoprzecinkowe i są implementowane jako liczby zmiennoprzecinkowe IEEE 754. Typ danych typu Integer nie jest uwzględniany w XPath.
- Boolean: To reprezentuje prawdę lub fałsz.
- Strunowy: To oznacza zero lub więcej znaków.
- Zestaw węzłów: Reprezentuje zbiór zero lub więcej węzłów.
Symbole wieloznaczne w XPath
Poniżej wymieniono symbole wieloznaczne w XPath.
- Gwiazdka (*) : Spowoduje to zaznaczenie wszystkich węzłów elementów węzła kontekstu. Wybierze węzły tekstowe, komentarze, instrukcje przetwarzania i węzeł atrybutów.
- Znak z gwiazdką (@ *) : Spowoduje to zaznaczenie wszystkich węzłów atrybutów węzła kontekstu.
- Węzeł() : Spowoduje to zaznaczenie wszystkich węzłów węzła kontekstu. Służą do wyboru przestrzeni nazw, tekstu, atrybutów, elementów, komentarzy i instrukcji przetwarzania.
Operatorzy XPath
Uwaga: W poniższej tabeli e oznacza dowolne wyrażenie XPath.
Operatorzy | Opis | Przykład |
---|---|---|
e1! = e2 | Nie równe | @name! = „T1” |
e1 + e2 | Dodatki (jeśli e1 i e2 są liczbami) | 5 + 2 |
e1 - e2 | Odejmowanie (jeśli e1 i e2 są liczbami) | 10 - 4 |
e1 * e2 | Mnożenie (jeśli e1 i e2 są liczbami) | 3. 4 |
e1 div e2 | Dzielenie (jeśli e1 i e2 są liczbami i wynik będzie w wartości zmiennoprzecinkowej) | 4 dział 2 |
e1 | e2 | połączenie dwóch węzłów, które pasują do e1 i do e2. | // Stan | //kraj |
e1 = e2 | Równa się | @name = „T1” |
e1Test e1 jest mniejszy niż e2 (znak mniejszy niż „<’ must be excaped by ‘<’) | test = ”5<9” will result true(). | |
e1> e2 | Test e1 jest większy niż e2 (znak większości „>” musi zostać usunięty przez „>”) | test = ”5> 9” da wynik false (). |
e1<= e2 | Test e1 jest mniejszy lub równy e2. | test = ”5<= 9” will result false(). |
e1> = e2 | Test e1 jest większy lub równy e2. | test = ”5> = 9” spowoduje false (). |
e1 lub e2 | Oceniane, jeśli e1 lub e2 są prawdziwe. | |
e1 i e2 | Oceniane, jeśli oba e1 i e2 są prawdziwe. | |
e1 mod e2 | Zwraca zmiennoprzecinkową resztę z e1 podzieloną przez e2. | 7 mod 2 |
Predykaty w XPath
Predykaty są używane jako filtry ograniczające węzły wybrane przez wyrażenie XPath. Każdy predykat jest konwertowany na wartość logiczną true lub false, jeśli jest to prawda dla danej XPath, ten węzeł zostanie wybrany, a jeśli jest fałszywy, węzeł nie zostanie wybrany.
Predykaty zawsze znajdują się w nawiasach kwadratowych, takich jak ().
Na przykład, SoftwareTester (@ name = ”T2 ″):
Spowoduje to wybranie elementu, który został nazwany jako atrybut o wartości T2.
Zastosowania XPath w testowaniu oprogramowania
XPath jest bardzo przydatny w testowaniu automatyzacji. Nawet jeśli przeprowadzasz testy ręczne, znajomość XPath będzie bardzo przydatna, aby pomóc Ci zrozumieć, co dzieje się na zapleczu aplikacji.
najlepsze narzędzie do usuwania złośliwego oprogramowania dla systemu Windows 10
Jeśli zajmujesz się testowaniem automatyzacji, na pewno słyszałeś o Appium studio, które jest jednym z najlepszych narzędzi do automatyzacji testowania aplikacji mobilnych. W tym narzędziu jest jedna bardzo potężna funkcja o nazwie Funkcja XPath który umożliwia identyfikację elementów określonej strony w całym skrypcie automatyzacji.
Chcielibyśmy tu przytoczyć kolejny przykład z narzędzia, które zna prawie każdy tester oprogramowania, czyli Selenium. Znajomość XPath w Selenium IDE i Selenium WebDriver to umiejętność obowiązkowa dla testerów.
XPath działa jako lokalizator elementów. Ilekroć musisz zlokalizować określony element na stronie i wykonać na nim jakąś czynność, musisz wspomnieć o jego XPath w kolumnie docelowej skryptu Selenium.
Jak widać na powyższym obrazku, jeśli wybierzesz dowolny element strony internetowej i sprawdzisz go, pojawi się opcja „Kopiuj XPath”. Jako przykład został pobrany z elementu internetowego wyszukiwarki Google za pośrednictwem przeglądarki internetowej Chrome, a po skopiowaniu XPath, jak pokazano na powyższym obrazku, otrzymaliśmy poniższą wartość:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Teraz, jeśli załóżmy, że musimy wykonać akcję kliknięcia na tym łączu, będziemy musieli podać polecenie kliknięcia w skrypcie Selenium, a celem polecenia kliknięcia będzie powyższa XPath. Użycie XPath nie ogranicza się tylko do dwóch powyższych narzędzi. Istnieje wiele obszarów i narzędzi testowania oprogramowania, w których używany jest XPath.
Mamy nadzieję, że dobrze zrozumieliście znaczenie XPath w dziedzinie testowania oprogramowania.
Wniosek
W tym samouczku dowiedzieliśmy się o XPath, korzystaniu z wyrażenia XPath, obsłudze wyrażeń XPath w różnych językach i narzędziach. Dowiedzieliśmy się, że XPath może być używany w dowolnej dziedzinie tworzenia oprogramowania i testowania oprogramowania.
Dowiedzieliśmy się również o różnych typach danych XPath, różnych osiach używanych w XPath wraz z ich wykorzystaniem, typach węzłów używanych w XPath, różnych operatorach i predykatach w XPath, różnicach między względnym i bezwzględnym XPath, różnymi symbolami wieloznacznymi używanymi w XPath itp.
Miłego czytania !!
rekomendowane lektury
- Proste podejście do testów XML w bazach danych
- Doskonały sposób testowania danych przy użyciu technologii XML (biała księga)
- Asercja w teście SOAtest z przykładem kodu XML
- Samouczek QTP nr 16 - Kroki do wstawiania XML, ułatwień dostępu i punktów kontrolnych bazy danych
- 45 najpopularniejszych pytań i odpowiedzi do wywiadów XML na 2021 r. (NAJNOWSZE)
- Różnica między SQL a MySQL i SQL Server (z przykładami)
- Przykład TestNG: jak utworzyć i używać plik TestNG.xml
- Ultimate XPath Writing Cheat Sheet Samouczek ze składnią i przykładami