Перейти к основному содержимому

custom$

Обзор​

Найдите один элемент с помощью стратегии, зарегистрированной через addLocatorStrategy. Способ выбора элемента определяет сама стратегия.

Использование​

browser.custom$(strategyName, ...strategyArguments)

Параметры​

ПараметрТипПо умолчаниюОписание
strategyNamestringОбязателенИмя зарегистрированной стратегии.
strategyArgumentsunknown[][]Аргументы браузерной функции стратегии.

Результат​

Ожидаемая ссылка на элемент, разрешающаяся в WebdriverIO.Element. Если стратегия вернула несколько элементов, используется первый.

Ограничения​

Неизвестное имя стратегии вызывает ошибку. Найденный элемент не обязательно видим или доступен для нажатия: используйте соответствующие ожидания или проверки. Если стратегия ничего не нашла, последующие команды элемента могут завершиться ошибкой.

Пример​

Настройте baseUrl на свой локальный тестовый HTTP-сайт, где / возвращает HTML-страницу. Пример выполняется внутри обычного файла тестов Testplane.

const assert = require("node:assert/strict");

it("custom$: find one element with a custom strategy", async ({ browser }) => {
await browser.url("/");
await browser.execute(() => {
document.body.innerHTML = '<button data-test="save">Save</button>';
});
browser.addLocatorStrategy("byTest", value => document.querySelector(`[data-test="${value}"]`));
const button = await browser.custom$("byTest", "save");
assert.equal(await button.getText(), "Save");
});

См. также​