Kursinhalt
Einführung in die QA-Automatisierungstests
Einführung in die QA-Automatisierungstests
Selenium - Interaktion mit Webelementen I
Zusammenfassung
Dieses Kapitel wird Ihnen einige praktische Kenntnisse über die Interaktion mit Elementen auf einer Webseite vermitteln.
Der erste Schritt bei der Interaktion mit einem Element besteht darin, dieses Element zu lokalisieren und als Referenz zu speichern. Ähnlich wie wir zuerst eine Variable erstellen, um ein Objekt zu speichern, bevor wir Aktionen darauf ausführen.
Die Hauptmethode zum Finden oder Lokalisieren eines Elements auf einer Webseite ist findElement
. Dieses Element erwartet ein Argument vom Typ By.locator()
, wobei By
ein Mechanismus zum Lokalisieren von Elementen ist und verschiedene locator
-Strategien unterstützt, zum Beispiel By.id
, By.name
, By.xpath
usw.
> Locator: `By.id`: Suche nach Elementen anhand ihrer ID;
> Locator: `By.name`: Suche nach Elementen anhand ihres Namens;
> Locator: `By.className`: Suche nach Elementen anhand ihres Klassennamens;
> Locator: `By.css`: Suche nach Elementen anhand ihres CSS-Selectors;
> Locator: `By.linkText`: Suche nach einem Element, das einem bestimmten Text entspricht;
> Locator: `By.xpath`: Suche nach Elementen anhand von XPATH;
Es kann Fälle geben, in denen das Skript das Element nicht findet, obwohl das Element auf der Seite vorhanden ist. Dies passiert normalerweise, wenn das Skript versucht, sofort nach dem Laden der Seite mit dem Element zu interagieren. Ein Fehler in solchen Fällen zeigt an, dass das Element noch nicht geladen ist, wenn die Zeile ausgeführt wird. Um dieses Problem zu lösen, gibt es eine sehr nützliche wait
-Funktion, die in jeder Art von Selenium-Skript sehr verbreitet ist.
Folgendes ist die Syntax der wait
-Methode:
-
`condition`: Eine Bedingung, die periodisch überprüft wird, bis sie erfüllt ist. Es kann entweder eine eingebaute Bedingung aus dem `until`-Modul von Selenium oder eine benutzerdefinierte Funktion sein.
-
`timeout`: Die maximale Zeit (in Millisekunden), die der WebDriver wartet, bis die Bedingung wahr ist.
-
`message`: (Optional) Eine benutzerdefinierte Fehlermeldung, die angezeigt wird, wenn das Warten abläuft.
Folgendes ist ein einfaches Beispiel der wait
-Methode:
Das until
-Modul bietet uns einige Funktionen, die verwendet werden können, um eine elementbezogene Bedingung anzugeben. Im Folgenden sind einige häufige Funktionen aufgeführt, die vom until-Modul bereitgestellt werden:
until.elementLocated(By.locator())
: Bis das Zielelement gefunden wird.until.elementIsVisible()
: Bis das Element sichtbar ist. Es wartet, bis das angegebene Element verschwindet.until.urlIs(url)
: Bis die URL mit der angegebenen URL übereinstimmt
Es gibt eine zusätzliche Methode namens findElements
, die genau die gleiche Syntax wie findElement
hat. Sie gibt einfach ein Array aller Elemente zurück, die dem erforderlichen Parameter entsprechen.
Jetzt, da wir wissen, wie man Elemente findet oder lokalisiert, sollten wir auch in der Lage sein, mit ihnen zu interagieren. Die verfügbaren Methoden zur Interaktion hängen hauptsächlich von der Art der Elemente ab.
Zum Beispiel, wenn wir ein Button-Element lokalisiert haben, können wir einen Klick auf diesen Button simulieren, indem wir die click
-Methode verwenden. Natürlich wird die Click-Methode als Attribut des lokalisierten Elements verfügbar sein.
Andererseits, wenn wir ein Suchfeld oder eine Art Textfeld haben, können wir Text mit der sendKeys
-Methode eingeben.
Danke für Ihr Feedback!