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

call

Обзор

Используйте команду call для выполнения любого асинхронного действия в тестах.

Сама команда при этом обрабатывается как синхронная функция. Она принимает промис и останавливает свое выполнение до тех пор, пока промис не будет выполнен.

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

await browser.call(callback);

Параметры команды

ИмяТипОписание
callbackFunctionФункция, которую нужно вызвать.

Примеры использования

it("some testing here", async ({ browser }) => {
await browser.url("http://google.com");

// делаем асинхронный вызов с помощью сторонней библиотеки,
// поддерживающей промисы, например, вызов к бэкенду или БД,
// чтобы сделать инъекцию фикстуры
await browser.call(() => {
return somePromiseLibrary.someMethod().then(() => {
// ...
});
});

// пример для асинхронного вызова сторонней библиотеки,
// не поддерживающей промисы
const result = await browser.call(() => {
return new Promise((resolve, reject) => {
someOtherNodeLibrary.someMethod(param1, (err, res) => {
if (err) {
return reject(err);
}
resolve(res);
});
});
});
});