comprehensive xpath tutorial xml path language
Erfahren Sie anhand von Beispielen alles über XML Path Language (XPath). Dieses XPath-Tutorial behandelt die Verwendung und Arten von XPath, XPath-Operatoren, Achsen und Anwendungen beim Testen:
Der Begriff XPath steht für XML Path Language. Es ist eine Abfragesprache, die zum Auswählen verschiedener Knoten im XML-Dokument verwendet wird.
Da SQL als Abfragesprache für verschiedene Datenbanken verwendet wird ( Zum Beispiel, SQL kann in Datenbanken wie MySQL, Oracle, DB2 usw. verwendet werden. XPath kann auch für verschiedene Sprachen und Tools verwendet werden ( Zum Beispiel, Sprachen wie XSLT, XQuery, XLink, XPointer usw. und Tools wie MarkLogic, Softwaretest-Tools wie Selen usw.)
Was du lernen wirst:
XPath - Ein Überblick
Xpath ist im Grunde eine Sprache für die Navigation durch XML-Dokumente. Während der Diskussion über die Navigation bedeutet dies, dass Sie sich in einem XML-Dokument in eine beliebige Richtung bewegen und zu einem beliebigen Element oder einem beliebigen Attribut und Textknoten wechseln. XPath ist eine empfohlene Sprache des World Wide Web Consortium (W3C).
Wo können wir XPath verwenden?
XPath kann sowohl in der Softwareentwicklungsbranche als auch in der Softwaretestbranche eingesetzt werden.
Wie finde ich den Netzwerksicherheitsschlüssel?
Wenn Sie sich in der Domäne 'Softwaretests' befinden, können Sie XPath zum Entwickeln von Automatisierungsskripten in Selenium verwenden. Wenn Sie sich in der Entwicklungsdomäne befinden, werden fast alle Programmiersprachen von XPath unterstützt.
XSLT wird hauptsächlich in der XML-Inhaltskonvertierungsdomäne verwendet und verwendet XPath für die Konvertierung. XSLT arbeitet eng mit XPath und einigen anderen Sprachen wie XQuery und XPointer zusammen.
Arten von XPath-Knoten
Nachfolgend sind die verschiedenen Arten von XPath-Knoten aufgeführt.
# 1) Elementknoten: Dies sind die Knoten, die direkt unter den Wurzelknoten fallen. Ein Elementknoten kann Attribute enthalten. Es repräsentiert ein XML-Tag. Wie im folgenden Beispiel angegeben: Software-Tester, Bundesland, Land sind die Elementknoten.
# 2) Attributknoten ::Dies definiert die Eigenschaft / das Attribut des Elementknotens. Es kann sich sowohl unter dem Elementknoten als auch unter dem Wurzelknoten befinden. Elementknoten sind die Eltern dieser Knoten. Wie im folgenden Beispiel angegeben: „Name“ ist der Attributknoten des Elementknotens (Softwaretester). Die Verknüpfung zur Bezeichnung von Attributknoten lautet '@'.
# 3) Textknoten ::Alle Texte, die zwischen Elementknoten kommen, werden als Textknoten bezeichnet, wie im folgenden Beispiel 'Delhi', 'Indien', 'Chennai' sind die Textknoten.
# 4) Kommentarknoten ::Dies ist etwas, das ein Tester oder Entwickler schreibt, um den Code zu erklären, der nicht von den Programmiersprachen verarbeitet wird. Kommentare (etwas Text) stehen zwischen diesen öffnenden und schließenden Tags:
# 5) Namespaces ::T ”; 0j89 //// / Diese werden verwendet, um Mehrdeutigkeiten zwischen mehr als einem Satz der XML-Elementnamen zu beseitigen. Zum Beispiel, In XSLT wird der Standard-Namespace als (XSL :) verwendet.
# 6) Verarbeitungsanweisungen ::Diese enthalten Anweisungen, die in den Anwendungen zur Verarbeitung verwendet werden können. Das Vorhandensein dieser Verarbeitungsanweisungen kann sich an einer beliebigen Stelle im Dokument befinden. Diese kommen dazwischen.
# 7) Wurzelknoten ::Dies definiert den obersten Elementknoten, der alle untergeordneten Elemente enthält. Der Stammknoten hat keinen übergeordneten Knoten. Im folgenden XML-Beispiel lautet der Stammknoten 'SoftwareTestersList'. Zur Auswahl des Wurzelknotens verwenden wir einen Schrägstrich, d. H. '/'.
Wie kann man ein Array in Java umkehren?
Wir werden ein grundlegendes XML-Programm schreiben, um die oben genannten Begriffe zu erklären.
Delhi India chennai India
Atomwerte : Alle Knoten, die weder untergeordnete noch übergeordnete Knoten haben, werden als Atomwerte bezeichnet.
Kontextknoten : Dies ist ein bestimmter Knoten im XML-Dokument, auf dem Ausdrücke ausgewertet werden. Es kann auch als aktueller Knoten betrachtet und mit einem einzelnen Punkt (.) Abgekürzt werden.
Kontextgröße : Dies ist die Anzahl der untergeordneten Elemente des übergeordneten Elements des Kontextknotens. Zum Beispiel, Wenn der Kontextknoten eines der fünften untergeordneten Elemente seines übergeordneten Knotens ist, beträgt die Kontextgröße fünf.
Absoluter Xpath: Dies ist der XPath-Ausdruck im XML-Dokument, der mit dem Stammknoten oder mit '/' beginnt. Zum Beispiel, / SoftwareTestersList / softwareTester / @ name = 'T1'
Relativer XPath: Wenn der XPath-Ausdruck mit dem ausgewählten Kontextknoten beginnt, wird dies als relativer XPath betrachtet. Zum Beispiel, Wenn der Softwaretester der aktuell ausgewählte Knoten ist, wird / @ name = ”T1” als relativer XPath betrachtet.
Achsen in XPath
- Selbstachse : Wählen Sie den Kontextknoten aus. Der XPath-Ausdruck self :: * und. sind gleichwertig. Dies wird durch einen einzelnen Punkt (.) Abgekürzt.
- Untergeordnete Achse : Wählen Sie die untergeordneten Elemente des Kontextknotens aus. Elemente, Kommentare, Textknoten und Verarbeitungsanweisungen werden als untergeordnetes Element des Kontextknotens betrachtet. Der Namespace-Knoten und der Attributknoten werden nicht als untergeordnete Achse des Inhaltsknotens betrachtet. Zum Beispiel, child :: software tester.
- Übergeordnete Achse : Wählen Sie das übergeordnete Element des Kontextknotens aus (wenn der Kontextknoten der Stammknoten ist, führt die übergeordnete Achse zu einem leeren Knoten.) Diese Achse wird durch eine doppelte Periode (...) Abgekürzt. Die Ausdrücke (parent :: State) und (../State) sind äquivalent. Wenn der Kontextknoten kein Element als übergeordnetes Element hat, führt dieser XPath-Ausdruck zu einem leeren Knoten.
- Attributachse : Wählen Sie das Attribut des Kontextknotens aus. Diese Attributachse wird durch das Vorzeichen (@) abgekürzt. Wenn der Kontextknoten kein Elementknoten ist, führt dies zu einem leeren Knoten. Die Ausdrücke (attribute :: name) und (@name) sind äquivalent.
- Ahnenachse : Wählen Sie das übergeordnete Element des Kontextknotens und das übergeordnete Element des übergeordneten Knotens aus. Diese Achse enthält den Wurzelknoten, wenn der Kontextknoten selbst nicht der Wurzelknoten ist.
- Vorfahr oder Selbst: Wählen Sie den Kontextknoten mit dem übergeordneten Knoten, dem übergeordneten Knoten usw. aus und wählen Sie immer den Stammknoten aus.
- Nachkommenachse : Wählen Sie alle Kinder des Kontextknotens, die Kinder ihrer Kinder usw. aus. Die untergeordneten Elemente des Kontextknotens können Elemente, Kommentare, Verarbeitungsanweisungen und Textknoten sein. Namespace-Knoten und Attributknoten werden unter der untergeordneten Achse nicht berücksichtigt.
- Nachkomme oder Selbst : Wählen Sie den Kontextknoten und alle untergeordneten Elemente des Kontextknotens sowie alle untergeordneten Elemente der untergeordneten Elemente des gesamten Kontextknotens usw. aus. Wie im obigen Fall werden Elemente, Kommentare, Verarbeitungsanweisungen und Textknoten berücksichtigt, und Namespaces und Attributknoten werden unter den untergeordneten Elementen des Kontextknotens nicht berücksichtigt.
- Vorhergehende Achse : Wählen Sie im gesamten Dokument, das als vorhergehende Achse betrachtet wird, alle Knoten aus, die vor dem Kontextknoten liegen. Namespace, Vorfahren und Attributknoten werden nicht als vorhergehende Achse betrachtet.
- Vorhergehende Geschwisterachse : Wählen Sie alle vorhergehenden Geschwister des Kontextknotens aus. Alle Knoten, die vor dem Kontextknoten angezeigt werden und dasselbe übergeordnete Element wie der Kontextknoten im XML-Dokument haben. Das vorhergehende Geschwister wird leer, wenn der Kontextknoten ein Namespace oder ein Attribut ist.
- Folgeachse : Wählen Sie alle Knoten aus, die nach dem Kontextknoten im XML-Dokument stehen. Namespace, Attribut und Nachkommen werden in dieser folgenden Achsenliste nicht berücksichtigt.
- Folgende Geschwisterachse : Wählen Sie alle folgenden Geschwister des Kontextknotens aus. Alle Knoten, die nach dem Kontextknoten kommen und dasselbe übergeordnete Element wie der Kontextknoten im XML-Dokument haben, werden als nachfolgende Geschwisterachse betrachtet. Dies führt zu einem leeren Knotensatz, wenn der Kontextknoten ein Namespace oder ein Attributknoten ist.
- Namespace : Wählen Sie die Namespace-Knoten des Kontextknotens aus. Dies führt zu einem Leerzeichen, wenn der Kontextknoten kein Elementknoten ist.
Datentypen in XPath
Im Folgenden sind die verschiedenen Datentypen in XPath aufgeführt.
- Nummer: Zahlen in XPath stellen eine Gleitkommazahl dar und werden als IEEE 754-Gleitkommazahlen implementiert. Der Datentyp Integer wird in XPath nicht berücksichtigt.
- Boolescher Wert: Dies ist entweder wahr oder falsch.
- String: Dies entspricht null oder mehr Zeichen.
- Knotensatz: Dies repräsentiert eine Menge von null oder mehr Knoten.
Platzhalter in XPath
Unten sind die Wildcards in XPath aufgeführt.
- Ein Sternchen (*) : Dadurch werden alle Elementknoten des Kontextknotens ausgewählt. Es werden die Textknoten, Kommentare, Verarbeitungsanweisungen und Attributknoten ausgewählt.
- At-sign mit einem Sternchen (@ *) : Dadurch werden alle Attributknoten des Kontextknotens ausgewählt.
- Knoten() : Dadurch werden alle Knoten des Kontextknotens ausgewählt. Diese wählen Namespaces, Text, Attribute, Elemente, Kommentare und Verarbeitungsanweisungen aus.
XPath-Operatoren
Hinweis: In der folgenden Tabelle steht e für einen beliebigen XPath-Ausdruck.
Betreiber | Beschreibung | Beispiel |
---|---|---|
e1! = e2 | Nicht gleich | @name! = ’T1’ |
e1 + e2 | Ergänzungen (wenn e1 und e2 Zahlen sind) | 5 + 2 |
e1 - e2 | Subtraktion (wenn e1 und e2 Zahlen sind) | 10 - 4 |
e1 * e2 | Multiplikation (wenn e1 und e2 Zahlen sind) | 3. 4 |
e1 div e2 | Division (wenn e1 und e2 Zahlen sind und das Ergebnis im Gleitkommawert ist) | 4 div 2 |
e1 | e2 | Vereinigung zweier Knoten, die mit e1 und e2 übereinstimmen. | // Zustand | //Land |
e1 = e2 | Gleich | @name = ’T1’ |
e1Der Test von e1 ist kleiner als e2 (kleiner als das Vorzeichen „<’ must be excaped by ‘<’) | test = ”5<9” will result true(). | |
e1> e2 | Der Test von e1 ist größer als e2 (das Zeichen '>' muss größer als '>' sein). | test = ”5> 9” führt zu false (). |
e1<= e2 | Der Test von e1 ist kleiner oder gleich e2. | test = ”5<= 9” will result false(). |
e1> = e2 | Der Test von e1 ist größer oder gleich e2. | test = ”5> = 9” führt zu false (). |
e1 oder e2 | Wird ausgewertet, wenn entweder e1 oder e2 wahr sind. | |
e1 und e2 | Wird ausgewertet, wenn sowohl e1 als auch e2 wahr sind. | |
e1 mod e2 | Gibt den Gleitkommarest von e1 geteilt durch e2 zurück. | 7 mod 2 |
Prädikate in XPath
Prädikate werden als Filter verwendet, die die vom XPath-Ausdruck ausgewählten Knoten einschränken. Jedes Prädikat wird entweder wahr oder falsch in den Booleschen Wert konvertiert. Wenn es für den angegebenen XPath wahr ist, wird dieser Knoten ausgewählt. Wenn es falsch ist, wird der Knoten nicht ausgewählt.
Prädikate stehen immer in eckigen Klammern wie ().
Zum Beispiel, softwareTester (@ name = ”T2 ″):
Dadurch wird das Element ausgewählt, das als Attribut mit dem Wert T2 benannt wurde.
Anwendungen von XPath beim Testen von Software
XPath ist sehr nützlich beim Testen der Automatisierung. Selbst wenn Sie manuelle Tests durchführen, ist das Wissen über XPaths sehr hilfreich, um zu verstehen, was im Backend der Anwendung geschieht.
Was ist Testplan beim Testen von Software?
Wenn Sie sich im Automatisierungstest befinden, müssen Sie von Appium Studio gehört haben, einem der besten Automatisierungstools für das Testen mobiler Apps. In diesem Tool gibt es eine sehr leistungsstarke Funktion namens XPath-Funktion Hiermit können Sie die Elemente einer bestimmten Seite im gesamten Automatisierungsskript identifizieren.
Wir möchten hier ein weiteres Beispiel aus dem Tool zitieren, das fast jeder Softwaretester kennt, d. H. Selen. Die Kenntnisse von XPath in Selenium IDE und Selenium WebDriver sind ein Muss für Tester.
XPath fungiert als Element-Locator. Wenn Sie ein bestimmtes Element auf einer Seite suchen und eine Aktion ausführen müssen, müssen Sie dessen XPath in der Zielspalte des Selenium-Skripts angeben.
Wie Sie im obigen Bild sehen können, erhalten Sie die Option 'XPath kopieren', wenn Sie ein Element einer Webseite auswählen und überprüfen. Als Beispiel wurde ein Webelement der Google-Suche über den Chrome-Webbrowser verwendet. Als der XPath wie im obigen Bild gezeigt kopiert wurde, wurde der folgende Wert angezeigt:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Wenn wir nun eine Klickaktion für diesen Link ausführen müssen, müssen wir einen Klickbefehl im Selenium-Skript bereitstellen, und das Ziel des Klickbefehls ist der oben genannte XPath. Die Verwendung von XPath ist nicht nur auf die beiden oben genannten Tools beschränkt. Es gibt viele Bereiche und Tools für Softwaretests, in denen XPath verwendet wird.
Wir hoffen, dass Sie eine gute Vorstellung von der Bedeutung von XPath im Bereich Softwaretests haben.
Fazit
In diesem Tutorial haben wir mehr über XPath, die Verwendung des XPath-Ausdrucks und die Unterstützung des XPath-Ausdrucks in verschiedenen Sprachen und Tools erfahren. Wir haben gelernt, dass XPath in allen Bereichen der Softwareentwicklung und des Softwaretests eingesetzt werden kann.
Wir haben auch die verschiedenen Datentypen von XPath, die verschiedenen in XPath verwendeten Achsen sowie deren Verwendung, die in XPath verwendeten Knotentypen, die verschiedenen Operatoren und Prädikate in XPath, den Unterschied zwischen relativem und absolutem XPath, die in XPath verwendeten verschiedenen Platzhalter usw. kennengelernt.
Fröhliches Lesen!!
Literatur-Empfehlungen
- Ein einfacher Ansatz für XML zum Testen von Datenbanken
- Eine hervorragende Möglichkeit zum Testen von Daten mithilfe von XML-Technologien (White Paper)
- Behauptung in SOAtest mit einem XML-Codebeispiel
- QTP-Tutorial Nr. 16 - Schritte zum Einfügen von XML-, Eingabehilfen- und Datenbankprüfpunkten
- Top 45 Fragen und Antworten zu XML-Interviews für 2021 (NEUESTE)
- Unterschied zwischen SQL und MySQL und SQL Server (mit Beispielen)
- TestNG-Beispiel: Erstellen und Verwenden der TestNG.xml-Datei
- Ultimatives XPath Writing Cheat Sheet Tutorial mit Syntax und Beispielen