$
La commande $
est un moyen court et pratique pour récupérer un seul élément sur la page.
Vous pouvez également passer un objet comme sélecteur où l'objet contient une propriété element-6066-11e4-a52e-4f735466cecf
avec la valeur d'une référence à un élément. La commande transformera alors la référence en un élément WebdriverIO étendu.
Remarque : chaîner les commandes $
et $$
n'a de sens que lorsque vous utilisez plusieurs stratégies de sélection. Vous ferez sinon
des requêtes inutiles qui ralentissent le test (par exemple, $('body').$('div')
déclenchera deux requêtes alors que
$('body div')
fait littéralement la même chose avec une seule requête)
Remarque : n'utilisez ces objets d'élément que si vous êtes certain qu'ils existent toujours sur la
page, par exemple en utilisant la commande isExisting
. WebdriverIO est incapable de les récupérer à nouveau étant donné
qu'il n'y a pas d'informations de sélecteur disponibles.
En utilisant le testrunner wdio, cette commande est une variable globale, voir Globals
pour plus d'informations. En utilisant WebdriverIO dans un script autonome,
elle sera située sur l'objet du navigateur à la place (par exemple, browser.$$
).
Vous pouvez chaîner $
ou $$
ensemble sans envelopper les commandes individuelles dans await
afin
de descendre dans l'arborescence DOM, par exemple :
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
Pour plus d'informations sur la façon de sélectionner des éléments spécifiques, consultez le guide Sélecteurs.
Utilisation
browser.$(selector)
Paramètres
Nom | Type | Détails |
---|---|---|
selector | String, Function, Matcher | sélecteur, fonction JS ou objet Matcher pour récupérer un certain élément |
Exemples
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();
});
Retourne
- <WebdriverIO.Element>