$
Il comando $
è un modo breve e pratico per recuperare un singolo elemento nella pagina.
Puoi anche passare un oggetto come selettore dove l'oggetto contiene una proprietà element-6066-11e4-a52e-4f735466cecf
con il valore di un riferimento a un elemento. Il comando trasformerà quindi il riferimento in un elemento WebdriverIO esteso.
Nota: concatenare i comandi $
e $$
ha senso solo quando utilizzi più strategie di selezione. Altrimenti
farai richieste non necessarie che rallentano il test (ad esempio, $('body').$('div')
attiverà due richieste mentre
$('body div')
fa letteralmente la stessa cosa con una sola richiesta)
Nota: utilizza questi oggetti elemento solo se sei certo che esistano ancora nella
pagina, ad esempio utilizzando il comando isExisting
. WebdriverIO non è in grado di recuperarli nuovamente
dato che non sono disponibili informazioni sui selettori.
Utilizzando il testrunner wdio questo comando è una variabile globale, vedi Globals
per maggiori informazioni. Utilizzando WebdriverIO all'interno di uno script standalone,
sarà invece situato sull'oggetto browser (ad esempio, browser.$$
).
Puoi concatenare $
o $$
insieme senza avvolgere i singoli comandi in await
per
navigare nell'albero DOM, ad esempio:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
Per maggiori informazioni su come selezionare elementi specifici, consulta la guida Selectors.
Utilizzo
browser.$(selector)
Parametri
Nome | Tipo | Dettagli |
---|---|---|
selector | String, Function, Matcher | selettore, funzione JS o oggetto Matcher per recuperare un determinato elemento |
Esempi
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();
});
Restituisce
- <WebdriverIO.Element>