Locators in Selenium

โšก Intelligente Zusammenfassung

Locators in Selenium Befehle weisen die Automatisierungs-Engine an, GUI-Elemente wie Textfelder, Schaltflรคchen und Kontrollkรคstchen zu identifizieren. Diese Referenz erlรคutert die Locator-Typen ID, Name, Linktext, DOM und XPath anhand praktischer Beispiele, Syntaxregeln und Auswahlstrategien fรผr zuverlรคssige Webautomatisierungsskripte.

  • ๐ŸŽ“ FoundationGrundsatz: Verwenden Sie zuerst ID-Locators, da diese eindeutig sind und die schnellste und stabilste Elementidentifizierung ermรถglichen.
  • ๐Ÿš€ Implementierungsschwerpunkt: Namenslocators mit Filterattributen anwenden, um Elemente mit identischen Namen, wie z. B. Optionsfelder, zu unterscheiden.
  • ๐Ÿ’ก Fortgeschrittene Technik: Nutzen Sie DOM-Methoden wie getElementById, getElementsByName und Formularindizierung, um auf tief verschachtelte Elemente zuzugreifen.
  • ๐Ÿ€ Optimierungsstrategie: Verwenden Sie XPath fรผr Elemente ohne Klassen-, Namens- oder ID-Attribute, aber achten Sie auf ein ausgewogenes Verhรคltnis zwischen Flexibilitรคt und dem Aufwand fรผr die Skriptwartung.
  • ๐Ÿ‘œ Qualitรคtsauswirkung: Die Wahl des richtigen Locator-Typs wirkt sich direkt auf die Zuverlรคssigkeit des Skripts, die Ausfรผhrungsgeschwindigkeit und die langfristige Wartbarkeit des Tests aus.

Lokalisierung anhand der ID in Selenium

Was sind Locatoren in Selenium?

Ein Locator ist ein Befehl, der steuert Selenium IDE oder Selenium WebDriver steuert das richtige GUI-Element an, beispielsweise ein Textfeld, eine Schaltflรคche, einen Link oder eine Checkbox, auf dem eine Aktion ausgefรผhrt werden soll. Die Identifizierung des richtigen GUI-Elements ist eine Grundvoraussetzung fรผr jedes zuverlรคssige Automatisierungsskript. Die korrekte Identifizierung ist jedoch schwieriger als gedacht. Manchmal interagiert man versehentlich mit dem falschen Element oder gar keinem. Um dies zu vermeiden, Selenium bietet eine Vielzahl von Lokalisierungsstrategien, die eine prรคzise Ansteuerung von GUI-Elementen ermรถglichen.

Wรคhrend einige Befehle, wie beispielsweise der Befehl โ€žopenโ€œ, keinen Locator benรถtigen, ist die Mehrheit der Befehle ohne Locator erforderlich. Selenium Befehle hรคngen von Element-Locators ab. Die Wahl des Locators hรคngt maรŸgeblich von Ihrer zu testenden Anwendung (AUT) ab. In diesem Tutorial werden wir abwechselnd auf Facebook und dem Mercury Die Demo-Website fรผr Touren (newtours.demoaut) basiert darauf, welche Ortungsfunktionen die einzelnen Anwendungen unterstรผtzen. Ebenso in Ihrer eigenen testing Im Projekt wรคhlen Sie einen Element-Locator aus in Selenium WebDriver basiert auf der Struktur Ihrer Anwendung.

Lokalisierung anhand der ID

Dies ist die gรคngigste Methode, um Elemente zu lokalisieren, da IDs fรผr jedes Element auf einer Seite eindeutig sein sollen. Wenn ein ID-Attribut vorhanden ist, sollte es Ihre erste Wahl fรผr schnelle, stabile und gut lesbare Testskripte sein.

Target Format: id=id des Elements

In diesem Beispiel verwenden wir eine Facebook-Demoseite, weil Mercury Tours verwendet keine ID-Attribute fรผr seine Hauptformularfelder.

Schritt 1) Nutzen Sie diese Demoseite https://demo.guru99.com/test/facebook.html Zum Testen. Untersuchen Sie das Textfeld โ€žE-Mail oder Telefonโ€œ mit den integrierten Entwicklertools Ihres Browsers (drรผcken Sie F12 in Chrome, Edge oder Windows Explorer). Firefox) und notieren Sie sich die zugehรถrige ID. In diesem Fall lautet die ID โ€žE-Mailโ€œ.

Lokalisierung anhand der ID in Selenium

Schritt 2) Start Selenium IDE und geben Sie โ€žid=emailโ€œ in das Target Klicken Sie auf die Schaltflรคche โ€žSuchenโ€œ und beachten Sie, dass das Textfeld โ€žE-Mail oder Telefonโ€œ gelb mit grรผnem Rand hervorgehoben ist, was darauf hinweist, dass Selenium Die IDE hat das Element korrekt lokalisiert.

Lokalisierung durch Ausweisprรผfung

Nach Namen suchen

Das Auffinden von Elementen anhand ihres Namens รคhnelt dem Auffinden anhand ihrer ID, mit dem Unterschied, dass wir die โ€žname=โ€œ Stattdessen ein Prรคfix verwenden. Dieser Ansatz ist nรผtzlich, wenn Elemente keine ID, aber ein definiertes Namensattribut besitzen.

Target Format: name=Name des Elements

Fรผr die folgende Demonstration werden wir verwenden Mercury Touren, weil alle wichtigen Formularelemente der Website ein Namensattribut tragen.

Schritt 1) Navigieren https://demo.guru99.com/test/newtours/ Untersuchen Sie mithilfe der Entwicklertools Ihres Browsers das Textfeld โ€žBenutzernameโ€œ. Notieren Sie sich dessen Namensattribut.

Suche nach Namen in Selenium

Hier lautet der Name des Elements โ€žuserNameโ€œ.

Schritt 2) In Selenium IDE, geben Sie โ€œname=userNameโ€ in das Target und klicken Sie auf die Schaltflรคche Suchen. Selenium Die IDE sollte das Textfeld fรผr den Benutzernamen durch Hervorheben finden.

Standortbestimmung durch Namensverifizierung

So finden Sie Elemente anhand des Namens mithilfe von Filtern

Filter sind dann nรผtzlich, wenn mehrere Elemente das gleiche Namensattribut gemeinsam haben. Filter sind zusรคtzliche Attribute, die dazu dienen, Elemente mit identischem Namen zu unterscheiden. Ohne Filter, Selenium wรผrde standardmรครŸig nur das erste รผbereinstimmende Element berรผcksichtigen.

Target Format: name=name_of_the_element filter=value_of_filter

Lassen Sie uns ein Beispiel durchgehen.

Schritt 1) Einloggen bei Mercury Touren.

Anmelden bei Mercury Bei Touren, die sowohl den Benutzernamen als auch das Passwort โ€žtutorialโ€œ verwenden, sollte die Flugsuche-Seite wie unten dargestellt erscheinen.

Suchen Sie mithilfe von Filtern nach Elementnamen

Schritt 2) Verwenden Sie die Entwicklertools, um die VALUE-Attribute zu untersuchen.

Beachten Sie, dass die Optionsfelder โ€žHin- und Rรผckfahrtโ€œ und โ€žEinfache Fahrtโ€œ denselben Namen โ€žtripTypeโ€œ tragen. Sie haben jedoch unterschiedliche VALUE-Attribute, sodass wir jeden Wert als Filter verwenden kรถnnen.

Nach Wertattribut filtern

Schritt 3) Klicken Sie im Editor auf die erste Zeile.

  • Wir werden zuerst auf die Option โ€žEinbahnstraรŸeโ€œ zugreifen. Klicken Sie auf die erste Zeile im Selenium IDE-Editor.
  • Geben Sie im Befehlsfeld den Befehl โ€žclickโ€œ ein.
  • Im Target Geben Sie im Feld โ€žname=tripType value=onewayโ€œ ein. Der Teil โ€žvalue=onewayโ€œ dient als Filter.

Klicken Sie auf Befehl mit Filter

Schritt 4) Klicken Sie auf die Schaltflรคche โ€žSuchenโ€œ.

Beachte das Selenium Die IDE hebt den Optionsbutton โ€žEinwegโ€œ grรผn hervor und bestรคtigt damit, dass das Element erfolgreich รผber sein VALUE-Attribut aufgerufen wurde.

Filterprรผfung

Schritt 5) Wรคhlen Sie die Option โ€žEinwegโ€œ.

Drรผcken Sie die Taste โ€žXโ€œ auf Ihrer Tastatur, um den Klickbefehl auszufรผhren. Die Option โ€žEinwegโ€œ ist nun ausgewรคhlt.

Einweg-Auswahl

Sie kรถnnen die gleiche Aktion auch mit dem Optionsfeld โ€žRound Tripโ€œ durchfรผhren, diesmal jedoch mit โ€žname=tripType value=roundtripโ€œ als Ziel.

Suchen nach Linktext

Diese Locator-Strategie ist nur fรผr Hyperlink-Texte anwendbar. Wir greifen auf den Link zu, indem wir dem Zieltext โ€žlink=โ€œ voranstellen, gefolgt vom sichtbaren Hyperlink-Text. Diese Methode ist gut lesbar und eignet sich hervorragend fรผr Navigationstests.

Target Format: link=link_text

Im folgenden Beispiel greifen wir auf den Link โ€žREGISTRIERENโ€œ zu, der sich auf der Mercury Homepage von Tours.

Schritt 1)

  • Stellen Sie zunรคchst sicher, dass Sie abgemeldet sind. Mercury Touren.
  • Navigieren Sie zu der Mercury Homepage von Tours.

Schritt 2)

  • รœberprรผfen Sie mithilfe der Entwicklertools den Link โ€žREGISTRIERENโ€œ. Der Linktext befindet sich zwischen dem รถffnenden und dem schlieรŸenden Anker-Tag.
  • In diesem Fall lautet der Linktext โ€žREGISTRIERENโ€œ. Kopieren Sie den Linktext.

Suchen nach Linktext

Schritt 3) Kopieren Sie den Linktext und fรผgen Sie ihn in Folgendes ein: Selenium IDE Target Feld. Stellen Sie ihm โ€žlink=โ€œ voran.

Text verlinken Target

Schritt 4) Klicken Sie auf die Schaltflรคche โ€žSuchenโ€œ. Selenium Die IDE wird den REGISTER-Link korrekt hervorheben.

Linktext hervorgehoben

Schritt 5) Geben Sie zur weiteren รœberprรผfung โ€žclickAndWaitโ€œ in das Befehlsfeld ein und fรผhren Sie es aus. Selenium IDE klickt den Link REGISTRIEREN erfolgreich an und leitet Sie zur unten angezeigten Registrierungsseite weiter.

Registrierungsseite

Suchen nach DOM (Document Object Model)

Das Dokumentobjektmodell (DOM)Vereinfacht ausgedrรผckt beschreibt es, wie HTML-Elemente als Baum von Knoten strukturiert sind. Selenium Die IDE kann durch diese Baumstruktur navigieren, um auf Seitenelemente zuzugreifen. Bei Verwendung dieser Methode wird die Target Die Box beginnt immer mit โ€ždom=documentโ€ฆโ€œ. Das Prรคfix โ€ždom=โ€œ wird รผblicherweise weggelassen, weil Selenium Die IDE interpretiert automatisch jeden Wert, der mit โ€ždocumentโ€œ beginnt, als DOM-Pfad.

Es gibt vier grundlegende Mรถglichkeiten, ein Element im DOM zu finden. Selenium:

  • getElementById
  • getElementsByName
  • dom:name (gilt nur fรผr Elemente innerhalb einer benannten Form)
  • dom:index

Lokalisieren nach DOM โ€“ getElementById

Lassen Sie uns zunรคchst die getElementById-Methode des DOM untersuchen. SeleniumDiese Methode gibt ein einzelnes Element zurรผck, indem sie dessen ID-Attribut abgleicht.

Syntax

document.getElementById("id of the element")

  • Die ID des Elements entspricht dem Wert des ID-Attributs des Elements, auf das zugegriffen werden soll. Dieser Wert muss immer in Anfรผhrungszeichen gesetzt werden.

Schritt 1) Nutzen Sie diese Demoseite https://demo.guru99.com/test/facebook.htmlNavigieren Sie dorthin und รผberprรผfen Sie mithilfe der Entwicklertools das Kontrollkรคstchen โ€žAngemeldet bleibenโ€œ. Notieren Sie sich dessen ID.

getElementById-Inspektion

Die zu verwendende ID lautet โ€žpersist_boxโ€œ.

Schritt 2) ร–ffne Selenium IDE und in der Target Geben Sie im Feld document.getElementById(โ€œpersist_boxโ€) ein und klicken Sie dann auf Suchen. Selenium Die IDE findet das Kontrollkรคstchen โ€žAngemeldet bleibenโ€œ. Obwohl sie den Inhalt des Kontrollkรคstchens nicht hervorheben kann, umgibt sie das Element mit einem hellgrรผnen Rahmen, wie unten dargestellt.

getElementById-Verifizierung

Lokalisieren nach DOM โ€“ getElementsByName

Die Methode `getElementById` greift jeweils nur auf ein Element zu, nรคmlich das Element mit der angegebenen ID. Die Methode `getElementsByName` verhรคlt sich anders. Sie gibt ein Array von Elementen mit demselben Namen zurรผck. Der Zugriff auf die einzelnen Elemente erfolgt รผber einen numerischen Index, der bei 0 beginnt.

getElementById-Illustration getElementById
Es wird nur ein Element zurรผckgegeben. Dieses Element trรคgt die in den Klammern von getElementById() angegebene ID.
getElementsByName-Illustration getElementsByName
Die Funktion gibt eine Sammlung von Elementen mit identischen Namen zurรผck. Jedes Element ist wie in einem Array durch eine Zahl ab 0 indiziert. Sie wรคhlen ein bestimmtes Element aus, indem Sie dessen Index in die eckigen Klammern der unten stehenden Syntax setzen.

Syntax

document.getElementsByName("name")[index]

  • name = Name des Elements, wie durch sein Attribut โ€žnameโ€œ definiert
  • index = eine Ganzzahl, die angibt, welches Element im Array von getElementsByName verwendet wird.

Schritt 1) Navigieren Sie zu der Mercury Melden Sie sich auf der Startseite von Tours mit dem Benutzernamen und Passwort โ€žtutorialโ€œ an. Der Browser lรคdt dann die Flugsuche.

Schritt 2) Untersuchen Sie mithilfe der Entwicklertools die drei Optionsfelder am unteren Rand der Seite (Economy-Klasse, Business-Klasse und First-Class). Sie werden feststellen, dass sie alle denselben Namen tragen: โ€žservClassโ€œ.

getElementsByName-Inspektion

Schritt 3) Zuerst greifen wir auf den Optionsbutton โ€žEconomy Classโ€œ zu. Von den drei Optionsbuttons erscheint dieser als erster, sein Index ist also 0. Selenium In der IDE geben Sie document.getElementsByName(โ€œservClassโ€)[0] ein und klicken auf die Schaltflรคche โ€žSuchenโ€œ. Selenium IDE wird die Optionsschaltflรคche โ€žEconomy-Klasseโ€œ korrekt erkennen.

Economy Class befindet sich

Schritt 4) ร„ndern Sie die Indexnummer auf 1, damit Ihr Target wird zu document.getElementsByName(โ€œservClassโ€)[1]. Klicken Sie auf die Schaltflรคche โ€žSuchenโ€œ und Selenium Die IDE hebt die Optionsschaltflรคche โ€žBusiness Classโ€œ wie unten dargestellt hervor.

Business Class gelegen

Lokalisieren nach DOM โ€“ dom:name

Wie bereits erwรคhnt, ist diese Methode nur anwendbar, wenn sich das Element, auf das Sie zugreifen, in einem benannten Formular befindet. Der Locatorpfad beginnt beim Formular und fรผhrt dann anhand des Namens zum Zielelement.

Syntax

document.forms["name of the form"].elements["name of the element"]

  • Name des Formulars = der Wert des Namensattributs des Formular-Tags, das das Element enthรคlt, auf das Sie zugreifen mรถchten.
  • Name des Elements = der Wert des Namensattributs des Elements, auf das Sie zugreifen mรถchten

Schritt 1) Navigieren Mercury Touren Homepage https://demo.guru99.com/test/newtours/ Untersuchen Sie mithilfe der Entwicklertools das Textfeld โ€žBenutzernameโ€œ. Beachten Sie, dass es sich in einem Formular mit dem Namen โ€žStartseiteโ€œ befindet.

dom:name Inspektion

Schritt 2) In Selenium Geben Sie in der IDE document.forms[โ€œhomeโ€].elements[โ€œuserNameโ€] ein und klicken Sie auf die Schaltflรคche โ€žSuchenโ€œ. Selenium Die IDE wird erfolgreich auf das Element zugreifen.

dom:name-Verifizierung

Lokalisieren nach DOM โ€“ dom:index

Diese Methode ist auch dann anwendbar, wenn sich das Element nicht in einem benannten Formular befindet, da sie den Index des Formulars anstelle seines Namens verwendet. Dies ist nรผtzlich fรผr รคltere Seiten oder automatisch generierte Formulare, bei denen keine Benennung mรถglich ist.

Syntax

document.forms[index of the form].elements[index of the element]

  • Index des Formulars = die Indexnummer (beginnend bei 0) des Formulars in Bezug auf die gesamte Seite
  • Index des Elements = die Indexnummer (beginnend bei 0) des Elements in Bezug auf die Form, die es enthรคlt.

Wir werden auf das Textfeld โ€žTelefonโ€œ auf dem Mercury Seite zur Anmeldung fรผr Touren. Das Formular auf dieser Seite hat weder einen Namen noch eine ID und eignet sich daher gut als Beispiel.

Schritt 1) Navigieren Sie zu der Mercury Prรผfen Sie auf der Seite โ€žTourenregistrierungโ€œ das Textfeld โ€žTelefonโ€œ. Beachten Sie, dass das umgebende Formular weder ID- noch Namensattribute aufweist.

dom:index Inspektion

Schritt 2) Geben Sie document.forms[0].elements[3] in der Selenium IDE Target und klicken Sie auf die Schaltflรคche Suchen. Selenium Die IDE greift korrekt auf das Textfeld โ€žTelefonโ€œ zu.

dom:index-Verifizierung

Schritt 3) Alternativ kรถnnen Sie anstelle des Index den Namen des Elements verwenden, um dasselbe Ergebnis zu erzielen. Geben Sie dazu document.forms[0].elements[โ€œphoneโ€] ein. Target Das Textfeld โ€žTelefonโ€œ bleibt weiterhin hervorgehoben.

dom:index by Name

Lokalisieren mit XPath

XPath ist die Abfragesprache, die zur Navigation in XML-Knoten (Extensible Markup Language) verwendet wird. Da HTML als eine Implementierung von XML betrachtet werden kann, XPath Kann auch HTML-Elemente finden. Es ist eine der leistungsstรคrksten Suchstrategien in Selenium.

  • Vorteil: Es kann auf nahezu jedes Element zugreifen, auch auf solche ohne Klassen-, Namens- oder ID-Attribute.
  • Nachteil: Aufgrund ihrer vielen Regeln und Syntaxvarianten ist sie die komplexeste Locator-Strategie.

Die Entwicklertools moderner Browser kรถnnen XPath-Ausdrรผcke automatisch generieren. In Chrome, Edge oder FirefoxKlicken Sie mit der rechten Maustaste auf ein Element im Elementbereich und wรคhlen Sie โ€žKopierenโ€œ > โ€žXPath kopierenโ€œ. Im folgenden Beispiel greifen wir auf ein Bild zu, das mit den zuvor beschriebenen Methoden nicht gefunden werden kann.

Schritt 1) Navigieren Sie zu der Mercury Gehen Sie zur Startseite von Tours und verwenden Sie die Entwicklertools, um das orangefarbene Rechteck rechts neben dem gelben Feld โ€žLinksโ€œ zu untersuchen, wie unten dargestellt.

XPath-Elementprรผfung

Schritt 2) Klicken Sie mit der rechten Maustaste auf den HTML-Code des Elements und wรคhlen Sie dann die Option โ€žXPath kopierenโ€œ.

XPath-Kopieroption

Schritt 3) In Selenium IDEGeben Sie einen einzelnen Schrรคgstrich โ€ž/โ€œ ein in Target Fรผgen Sie dann den im vorherigen Schritt kopierten XPath in das Feld ein. Der Eintrag in der Target Das Feld sollte jetzt mit zwei Schrรคgstrichen โ€ž//โ€œ beginnen.

XPath eingefรผgt

Schritt 4) Klicken Sie auf die Schaltflรคche โ€žSuchenโ€œ. Selenium Die IDE hebt das orangefarbene Feld hervor, wie unten dargestellt.

XPath-Verifizierung

Warum die Wahl des richtigen Standortfinders wichtig ist

Die Wahl der richtigen Ortungsstrategie ist eine der einflussreichsten Entscheidungen in Selenium Automatisierung ist wichtig, da sie direkten Einfluss auf die Skriptstabilitรคt, die Ausfรผhrungsgeschwindigkeit und die langfristigen Wartungskosten hat. Ein ungeeigneter Selektor kann zu fehlerhaften Tests, Fehlalarmen und hรคufigen Nacharbeiten bei ร„nderungen der Benutzeroberflรคche fรผhren. Erfahrene Automatisierungsingenieure empfehlen folgende Reihenfolge: zuerst ID, dann Name, gefolgt von CSS-Selektor, Linktext und schlieรŸlich XPath.

ID-basierte Selektoren sind am schnellsten, da die Browsersuche fรผr eindeutige Kennungen optimiert ist. Namensbasierte Selektoren sind fast genauso effizient, sofern die Namen eindeutig sind. CSS-Selektoren und XPath bieten Flexibilitรคt, sind aber tendenziell langsamer und anfรคlliger fรผr ร„nderungen am DOM. Linktext eignet sich hervorragend fรผr Navigationslinks, bietet aber nur begrenzte Wiederverwendbarkeit.

Eine stabile Automatisierung hรคngt auch von der Zusammenarbeit mit Entwicklern ab. Wenn Tester bei Code-Reviews konsistente und aussagekrรคftige IDs oder data-* Attribute anfordern, verbessert sich die Zuverlรคssigkeit der Locators deutlich. Vermeiden Sie automatisch generierte IDs (z. B. von Frameworks), da diese sich zwischen Builds รคndern kรถnnen. Durch die Priorisierung lesbarer, absichtsorientierter Locators kรถnnen Teams die Wartbarkeit ihrer Test-Suites gewรคhrleisten und technische Schulden im Zuge der Anwendungsentwicklung reduzieren.

Best Practices fรผr das Schreiben zuverlรคssiger Standortangaben

Zuverlรคssige Ortungssysteme sind die Grundlage fรผr eine wartungsfรคhige Selenium Testsuite. Die folgenden Vorgehensweisen tragen dazu bei, Skriptfehler zu reduzieren, die Lesbarkeit zu verbessern und die Tests widerstandsfรคhiger gegen ร„nderungen der Benutzeroberflรคche zu machen.

  1. Bevorzugen Sie eindeutige IDs: Prรผfen Sie immer zuerst, ob ein ID-Attribut vorhanden ist. IDs sollen innerhalb einer Seite eindeutig sein und sind die performanteste Wahl.
  2. Verwenden Sie semantische Namen und data-* Attribute: Ermutigen Sie Entwickler, stabile Testattribute wie data-testid oder data-qa hinzuzufรผgen. Diese bleiben auch bei ร„nderungen an CSS-Klassen konsistent.
  3. Vermeiden Sie absolute XPath-Ausdrรผcke: Absolute Pfade wie /html/body/div[2]/div[3]/span funktionieren nicht immer. Verwenden Sie relative XPath-Ausdrรผcke mit Attributen wie z. B. //input[@name='userName'].
  4. Attribute fรผr mehr Prรคzision kombinieren: Wenn ein einzelnes Attribut nicht eindeutig ist, kombinieren Sie mehrere Attribute (zum Beispiel //button[@type='submit' und @name='login']), um das richtige Element anzusprechen.
  5. Setzen Sie Texte mit Bedacht ein: Locators, die auf sichtbarem Text basieren, kรถnnen bei unterschiedlichen Sprachlokalisierungen zu Problemen fรผhren. Verwenden Sie textbasierte Locators nur, wenn die Inhalte stabil und einsprachig sind.
  6. Zentralisierung der Standortdaten: Speichern Sie Locators in einer Page Object Model (POM)-Klasse, damit Aktualisierungen an einer zentralen Stelle und nicht in vielen Testskripten vorgenommen werden kรถnnen.
  7. In den Entwicklertools รผberprรผfen: Bevor Sie einen Locator zu einem Skript hinzufรผgen, testen Sie ihn in der Browserkonsole mit $x(โ€œ//xpathโ€) fรผr XPath oder document.querySelector fรผr CSS, um sicherzustellen, dass er genau ein Element zurรผckgibt.
  8. Vermeiden Sie nach Mรถglichkeit indexbasierte Locators: Indexpositionen wie [3] hรคngen von der Elementreihenfolge ab. Schon geringfรผgige Layoutรคnderungen kรถnnen den Index verschieben und das Skript zum Absturz bringen.

Durch die konsequente Anwendung dieser Vorgehensweisen erstellen Automatisierungsingenieure Testsuiten, die teamรผbergreifend skalierbar sind und hรคufige UI-Updates mit minimalem Wartungsaufwand รผberstehen.

Hรคufig gestellte Fragen

Die ID-Suche ist am schnellsten, da Browser die Suche nach eindeutigen Kennungen optimieren. Stehen keine IDs zur Verfรผgung, sind Name und CSS-Selektor in der Regel schneller als XPath, da XPath bei der Elementauflรถsung das DOM umfassender durchsucht.

Absolute XPath-Ausdrรผcke beginnen im Stammverzeichnis des HTML-Dokuments und folgen einem vollstรคndigen Pfad, was sie fehleranfรคllig macht. Relative XPath-Ausdrรผcke beginnen an einer beliebigen Stelle im DOM und verwenden Attribute wie `//input[@id='email']`, wodurch eine stabilere und wartungsfreundlichere Elementansprache ermรถglicht wird.

Firebug wurde 2017 eingestellt. Moderne Browser verfรผgen รผber integrierte Entwicklertools, die in Chrome, Edge und anderen Browsern รผber die Taste F12 aufgerufen werden kรถnnen. FirefoxDiese Tools bieten die Mรถglichkeit zur Elementinspektion, zum Kopieren von XPath-Ausdrรผcken und CSS-Selektoren sowie zum Testen von Locator-Codes in der Konsole.

Ja. KI-gestรผtzte Tools wie zum Beispiel TestimMabl und Functionize analysieren das DOM und generieren selbstheilende Locators. Diese Plattformen nutzen maschinelles Lernen, um Locators bei ร„nderungen der Benutzeroberflรคche automatisch anzupassen, wodurch Wartungsaufwand und fehleranfรคllige Tests reduziert werden.

KI-gestรผtzte Selbstheilungsfunktionen lernen die umgebenden Attribute, die Position und den DOM-Kontext jedes Elements. Wenn der ursprรผngliche Locator fehlschlรคgt, wรคhlt die Funktion anhand von Wahrscheinlichkeitswerten die nรคchstliegende รœbereinstimmung aus, sodass Testskripte ohne manuelles Eingreifen weiterlaufen kรถnnen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: