$
Il comando $ è un modo breve e pratico per recuperare un singolo elemento nella pagina.
A differenza del $ collegato all'oggetto browser,
questo comando interroga un elemento basandosi su un elemento radice.
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)
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')
WebdriverIO attraversa senza problemi le shadow root quando si utilizzano i comandi $ o $$, indipendentemente dal livello di annidamento o
dalla modalità shadow root, per esempio:
await browser.url('https://ionicframework.com/docs/usage/v8/datetime/basic/demo.html?ionic:mode=md')
await browser.$('button[aria-label="Sunday, August 4"]').click()
await browser.$('.aux-input').getValue()
Per ulteriori informazioni su come selezionare elementi specifici, consulta la guida Selettori.
Utilizzo
$(selector).$(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>