call
Обзор
Используйте команду call
для выполнения любого асинхронного действия в тестах.
Сама команда при этом обрабатывается как синхронная функция. Она принимает промис и останавливает свое выполнение до тех пор, пока промис не будет выполнен.
Использование
await browser.call(callback);
Параметры команды
Имя | Тип | Описание |
callback | Function | Функция, которую нужно вызвать. |
Примеры использования
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);
});
});
});
});