Was ist XPath in Selen?

Wie wir alle wissen, wurde mit der Trendwende in der Softwareindustrie der Umfang des manuellen Testens minimiert und mehr Testfälle werden automatisiert, da dies nicht nur die Effizienz und Genauigkeit erhöht, sondern auch die Zeit verkürzt. Auf dem Markt sind viele Softwaretools für die Entwicklung und Ausführung von automatisierten Testskripten verfügbar. Selen ist einer von ihnen. Selen ist Open Source und möglicherweise die am weitesten verbreitete Automatisierungstestsuite für Automatisierungstests. Es unterstützt eine Vielzahl von Sprachen wie PHP, Java, Perl, Python usw., indem die Treiber bestimmter Sprachen installiert werden. Es werden auch mehrere Browser wie Chrome, Mozilla Firefox, IE1, Edge, Opera usw. unterstützt.

XPath steht für XML Path Language. In Selenium ist XPath nichts anderes als ein normaler XML-Pfad, mit dem mithilfe des XML-Pfadausdrucks nach Elementen auf der Webseite gesucht wird. Zum Ausführen von Vorgängen wie Klicken auf die Schaltfläche, Schreiben in ein Textfeld, Auswählen eines beliebigen Felds usw. müssen Sie zunächst die Position dieses Webelements im Dokument und in Selenium mithilfe von Xpath ermitteln, wo sich dieser Pfad befindet. XPath verwendet die HTML-DOM-Struktur, um den Pfad eines Elements auf einer Webseite zu erfassen. Es hat Pfadausdruck, der zusammen mit einigen Bedingungen geschrieben wird. XPath ist eine W3C-Empfehlung,

Syntax von XPath in Selen

Nachfolgend ist die Syntax von XPath in Selen angegeben:

Xpath = //Tagname(@Atrribute=value)

wo,

  • //: Dient zum Auswählen des aktuellen Knotens.
  • Tagname: Gibt den Tagnamen eines bestimmten Knotens an, z. B. img, div, input usw.
  • @: Wählt das Attribut aus.
  • Attribut: Gibt den Attributnamen des Knotens an.
  • Wert: Gibt die Werte der Attribute des Knotens an.

In Xpath werden verschiedene Locators verwendet, um die Webelemente zu lokalisieren:

  • ID : Findet das Webelement anhand der ID dieses Elements. (ID ist für jedes Webelement eindeutig).
  • Name: Findet das Webelement anhand des Namens dieses Elements.
  • Klassenname : Findet das Webelement anhand des Klassennamens dieses Elements.
  • Linktext : Findet das Webelement anhand des Texts, der auf dem Link dieses Elements geschrieben ist.
  • CSS-Pfad: Elemente ohne Namen, ID und Klassennamen werden über den von Testern / Entwicklern erstellten CSS-Pfad ermittelt.

Arten von XPath in Selen

Grundsätzlich gibt es zwei Arten von XPath in Selen, die im Folgenden beschrieben werden:

1. Absoluter XPath

Dies ist eine der einfachsten und direktesten Möglichkeiten, ein Webelement in einem Dokument zu finden. Es wählt einen Elementpfad aus dem Wurzelknoten aus und nimmt den Pfad bis zu dem Element, das alle Abschnitte in einem Dokument abdeckt, einschließlich div, section, li usw. Es beginnt mit einem einzelnen Schrägstrich '/', der die Wurzelebene angibt. Der einzige Nachteil der Verwendung des absoluten Pfads in Selen besteht darin, dass sich der gesamte XPath dieses Elements ändert, wenn Änderungen an der Website oder einem Dokument vorgenommen werden, und daher der vorherige Pfad nicht funktioniert und das gesamte Programm fehlschlägt.

Beispiel:

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

Wenn im HTML-Dokument vorgenommene Änderungen und die Position der div-Elemente geändert wurden, schlägt der vorherige XPath fehl.

2. Relativer XPath

Einer der Nachteile von Absolute XPath neben der Modifikation sind zu lange Pfade, relative Pfade sind in solchen Situationen ein Retter. Relativer Pfad wird verwendet, um den Pfad eines Elements aus der Mitte der HTML-DOM-Struktur zu definieren. Im Gegensatz zu Absolute XPaths ist es nicht erforderlich, den Pfad von der Stammebene aus zu definieren, wodurch sich die Gesamtlänge von XPath verringert. Es beginnt mit einem doppelten Schrägstrich '//', dh Auswählen des Webelements von einer beliebigen Stelle im Dokument.

Beispiel:

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

XPath-Funktionen in Selen

Nachfolgend sind einige der Funktionen von XPath aufgeführt, die in Selen verwendet werden:

1. Contains (): Dies ist eine Methode, die im XPath-Ausdruck verwendet wird und dazu dient, das Element mit dem Teiltext zu lokalisieren, wenn der zu durchsuchende Text zu lang ist und sich der Wert des Attributs beim erneuten Laden dynamisch ändert.

Beispiel:

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

2. Folgendermaßen: Diese Methode wählt alle Elemente des aktuellen Knotens in der HTML-DOM-Struktur aus.

Beispiel:

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

3. Vorfahr: Mit dieser Methode werden alle Vorfahrelemente des aktuellen Knotens ausgewählt. Der Vorfahr kann Großeltern sein, Eltern des aktuellen Knotens im HTML-Dokument.

Beispiel:

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

Es wird festgestellt, dass alle Vorfahren des aktuellen Webelements den Kriterien von text () = 'Introduction' mit dem div-Tag entsprechen.

4. Untergeordnet: Diese Methode wird in den Szenarien verwendet, in denen die untergeordneten Elemente des aktuellen Knotens im HTML-Dokument ausgewählt werden sollen.

Beispiel:

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

5. Weiter: Mit dieser Methode werden alle Knoten ausgewählt, die zum aktuellen Knoten weitergehen oder die vor dem aktuellen Knoten liegen.

Beispiel:

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

6. Nachgeschwister: Diese Methode wird verwendet, um die Geschwister zu lokalisieren, die sich auf derselben Ebene wie der aktuelle Knoten befinden.

Beispiel:

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

7. Übergeordnet: Mit dieser Methode wird das übergeordnete Element des aktuellen Knotens im HTML-Dokument gesucht.

Beispiel:

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

8. Self: Diese Methode wird verwendet, um sich im HTML-Dokument zu lokalisieren. Selbst bezeichnet nur den aktuellen Knoten.

Beispiel:

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

9. Nachkomme: Mit dieser Methode werden die Nachkommen des aktuellen Knotens im HTML-Dokument gesucht.

Beispiel:

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

10. Beginnen mit: Diese Methode wird in den Szenarien verwendet, in denen der Starttext der Attribute abgeglichen werden soll und das Webelement gesucht werden muss, wenn sich das Attribut beim Aktualisieren und erneuten Laden einer Webseite dynamisch ändert.

Beispiel:

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

Fazit

Oben sind einige der XPath-Typen und die verschiedenen in Selenium for XPath verwendeten Funktionen aufgeführt. Diese Funktionen erleichtern die Arbeit mit XPaths als wichtigstem Schritt für die Automatisierung der Lokalisierung des Webelements über XPath. In XPath werden verschiedene Locators wie ID, Name, CSS-Pfad und Linktext verwendet, um Webelemente auf der Webseite zu lokalisieren. Kenntnisse und verschiedene Wege, um XPath zu finden, sind sehr wichtig, wenn Sie mit Automatisierungstests mit Selenium oder einem anderen Tool arbeiten.

Empfohlene Artikel

Dies ist eine Anleitung zu Was ist XPath in Selen ?. Hier diskutieren wir das grundlegende Konzept, die Syntax, die Typen und die Funktionen von XPath in Selenium mit seinen Beispielen. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. Top 10 Verwendungen von Selen
  2. So installieren Sie Selenium | Schritte
  3. Selen Alternativen | Komponenten
  4. Was ist Selenium Web Driver?
  5. Was ist XPath?