Я использую webdriverio и мне нужно подождать, пока элемент появится в окне просмотра
Итак, я попытался
browser.waitUntil(async () => {
const b = await link.isDisplayedInViewport()
return b;
}, 5000, 'expected to be visible after 5s');
Но почему-то waitUntil
хочет логическое значение, а не Promise<boolean>
Как я могу это исправить?
Обновление:
Я использую WebdriverIO в приложении NodeJs следующим образом
const { remote } = require('webdriverio');
(async () => {
const browser = await remote({
logLevel: 'error',
path: '/',
capabilities: {
browserName: 'chrome'
}
});
await browser.url('https://example.com');
const link = await browser.$('.special-link');
const ok = await browser.waitUntil(async () => {
const b = await link.isDisplayedInViewport()
return b;
}, 5000, 'expected to be visible after 5s');
await link.click();
const title = await browser.getTitle();
console.log('Title was: ' + title);
await browser.deleteSession();
})().catch((e) => console.error(e));
источник
В опциях ничего не видно с или без async / await. Кроме того, я не пользуюсь фреймворком для тестирования!