Я пытаюсь написать тестовый пример использования в JavaScript с webdriverio (используя appium server) для собственного приложения android.
Мой тестовый пример требует, чтобы я вошел в приложение, и после регистрации (которая занимает 3-4 секунды) я должен нажать кнопку (элемент). Я перепробовал все API-интерфейсы WebDriverIO, такие как waitForDisplayed, isDisplayed (), но ни один из них не работает, чаще всего появляется сообщение об ошибке:
TypeError: client.element(...).waitForDisplayed is not a function
at Context.<anonymous> (test-auto-obi-copy.js:142:14)
at processImmediate (internal/timers.js:439:21)
at process.topLevelDomainCallback (domain.js:130:23)
Вот документация WebDriverIO для waitForDisplayed https://webdriver.io/docs/api/element/waitForClickable.html
Мой код выглядит следующим образом:
it("should press the profile button", function () {
return client
.element('android=new UiSelector().resourceId("com.example.dev:id/nav_graph_profile")')
.waitForDisplayed(undefined, true)
.click('android=new UiSelector().resourceId("com.example.dev:id/nav_graph_profile")')
.then( function() {
//whatever
})
})
Тест входа успешно завершен, но после нажатия кнопки «ВХОД» я хочу, чтобы мой набор тестов «спал» до загружается следующая страница, чтобы добиться этого, я пытался дождаться, пока эта конкретная кнопка (элемент) профиля станет доступной, но кажется, что ждать ее невозможно.
Может кто-нибудь подсказать мне, что делать в этом случае, как я могу ждать?