$
Команда $
- це короткий та зручний спосіб отримати один елемент на сторінці.
Ви також можете передати об'єкт як селектор, де об'єкт містить властивість element-6066-11e4-a52e-4f735466cecf
зі значенням посилання на елемент. Команда потім перетворить посилання на розширений елемент WebdriverIO.
Примітка: ланцюжок команд $
та $$
має сенс лише коли ви використовуєте декілька стратегій селекторів. В іншому випадку
ви робитимете непотрібні запити, які сповільнюють тест (наприклад, $('body').$('div')
викличе два запити, тоді як
$('body div')
робить буквально те саме з одним запитом)
Примітка: використовуйте ці об'єкти елементів лише якщо ви впевнені, що вони все ще існують на
сторінці, наприклад, використовуючи команду isExisting
. WebdriverIO не може повторно отримати їх, оскільки
інформація про селектор недоступна.
При використанні тестового бігунка wdio ця команда є глобальною змінною, див. Globals
для отримання додаткової інформації. При використанні WebdriverIO у окремому
скрипті вона буде розташована на об'єкті браузера (наприклад, browser.$$
).
Ви можете об'єднувати $
або $$
разом без обгортання окремих команд у await
для
проходження по DOM-дереву, наприклад:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
Для отримання більш детальної інформації про те, як вибирати конкретні елементи, перегляньте посібник Selectors.
Використання
browser.$(selector)
Параметри
Назва | Тип | Деталі |
---|---|---|
selector | String, Function, Matcher | селектор, JS-функція або об'єкт Matcher для отримання певного елемента |
Прикла ди
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();
});
Повертає
- <WebdriverIO.Element>