$
Polecenie $ to krótki i wygodny sposób pobierania pojedynczego elementu na stronie.
Możesz również przekazać obiekt jako selektor, gdzie obiekt zawiera właściwość element-6066-11e4-a52e-4f735466cecf
z wartością referencji do elementu. Polecenie przekształci wtedy referencję w rozszerzony element WebdriverIO.
Uwaga: łączenie poleceń $ i $$ ma sens tylko wtedy, gdy używasz wielu strategii selektorów. W przeciwnym razie
wykonasz niepotrzebne żądania, które spowolnią test (np. $('body').$('div') wywoła dwa żądania, podczas gdy
$('body div') robi dokładnie to samo z tylko jednym żądaniem)
Uwaga: używaj tych obiektów elementów tylko wtedy, gdy masz pewność, że nadal istnieją na
stronie, np. używając polecenia isExisting. WebdriverIO nie może ich ponownie pobrać, ponieważ
nie są dostępne informacje o selektorze.
Korzystając z testrunner wdio, to polecenie jest zmienną globalną, zobacz Globals
aby uzyskać więcej informacji. Używając WebdriverIO w samodzielnym
skrypcie będzie ono umieszczone na obiekcie przeglądarki (np. browser.$$).
Możesz łączyć $ lub $$ razem bez opakowywania poszczególnych poleceń w await w celu
poruszania się po drzewie DOM, np.:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
Aby uzyskać więcej informacji o tym, jak wybierać określone elementy, sprawdź przewodnik Selektory.
Użycie
browser.$(selector)
Parametry
| Nazwa | Typ | Szczegóły | 
|---|---|---|
| selector | String, Function, Matcher | selektor, funkcja JS lub obiekt Matcher do pobrania określonego elementu | 
Przykłady
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();
});
Zwraca
- <WebdriverIO.Element>