$
Der Befehl $
ist eine kurze und praktische Methode, um ein einzelnes Element auf der Seite abzurufen.
Sie können auch ein Objekt als Selektor übergeben, das die Eigenschaft element-6066-11e4-a52e-4f735466cecf
mit dem Wert einer Referenz auf ein Element enthält. Der Befehl wandelt dann die Referenz in ein erweitertes WebdriverIO-Element um.
Hinweis: Die Verkettung von $
und $$
Befehlen ist nur sinnvoll, wenn Sie mehrere Selektorstrategien verwenden. Andernfalls verursachen Sie unnötige Anfragen, die den Test verlangsamen (z.B. $('body').$('div')
löst zwei Anfragen aus, während $('body div')
buchstäblich dasselbe mit nur einer Anfrage tut).
Hinweis: Verwenden Sie diese Elementobjekte nur, wenn Sie sicher sind, dass sie noch auf der Seite existieren, z.B. mit dem Befehl isExisting
. WebdriverIO kann sie nicht erneut abrufen, da keine Selektorinformationen verfügbar sind.
Bei Verwendung des wdio Testrunners ist dieser Befehl eine globale Variable, siehe Globals für weitere Informationen. Bei Verwendung von WebdriverIO innerhalb eines Standalone Skripts befindet er sich stattdessen auf dem Browser-Objekt (z.B. browser.$$
).
Sie können $
oder $$
miteinander verketten, ohne einzelne Befehle in await
einzuwickeln, um den DOM-Baum zu durchlaufen, z.B.:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
Weitere Informationen zur Auswahl bestimmter Elemente finden Sie im Selektoren-Leitfaden.
Verwendung
browser.$(selector)
Parameter
Name | Typ | Details |
---|---|---|
selector | String, Function, Matcher | Selektor, JS-Funktion oder Matcher-Objekt, um ein bestimmtes Element abzurufen |
Beispiele
loading...
loading...
loading...
loading...
it('should use Androids DataMatcher or ViewMatcher selector', async () => {
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"],
"class": "androidx.test.espresso.matcher.ViewMatchers"
});
await menuItem.click();
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"]
});
await menuItem.click();
});
Rückgabewert
- <WebdriverIO.Element>