$
El comando $
es una forma corta y práctica para obtener un único elemento en la página.
También puedes pasar un objeto como selector donde el objeto contiene una propiedad element-6066-11e4-a52e-4f735466cecf
con el valor de una referencia a un elemento. El comando transformará entonces la referencia en un elemento WebdriverIO extendido.
Nota: encadenar comandos $
y $$
solo tiene sentido cuando utilizas múltiples estrategias de selector. De lo contrario,
realizarás solicitudes innecesarias que ralentizarán la prueba (por ejemplo, $('body').$('div')
activará dos solicitudes mientras que
$('body div')
hace literalmente lo mismo con una sola solicitud)
Nota: utiliza estos objetos de elemento solo si estás seguro de que todavía existen en la
página, por ejemplo, utilizando el comando isExisting
. WebdriverIO no puede volver a obtenerlos dado
que no hay información de selector disponible.
Usando el testrunner wdio este comando es una variable global, consulta Globals
para más información. Usando WebdriverIO dentro de un script standalone
estará ubicado en el objeto browser en su lugar (por ejemplo, browser.$$
).
Puedes encadenar $
o $$
juntos sin envolver comandos individuales en await
para
descender por el árbol DOM, por ejemplo:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
Para más información sobre cómo seleccionar elementos específicos, consulta la guía de Selectores.
Uso
browser.$(selector)
Parámetros
Nombre | Tipo | Detalles |
---|---|---|
selector | String, Function, Matcher | selector, función JS o objeto Matcher para obtener un determinado elemento |
Ejemplos
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();
});
Devuelve
- <WebdriverIO.Element>