#android #kotlin #android-espresso #android-uiautomator #uidevice
#Android #kotlin #android-espresso #android-uiautomator #uidevice
Вопрос:
Я пытаюсь выполнить тест пользовательского интерфейса espresso для приложения Android, который проверяет, существует ли сеанс после фонового запуска приложения, и снова запускает его
Я пытался использовать этот код
val device = UiDevice.getInstance(getInstrumentation())
device.pressHome()
device.pressRecentApps()
device.findObject(UiSelector().text(getInstrumentation().targetContext.getString(getInstrumentation().targetContext.applicationInfo.labelRes)))
.click()
И он работал для устройств Android с SDK <29, но когда я попытался использовать его для SDK> = 29, он зависает, когда пытается щелкнуть приложение после нажатия на последнее приложение
Вот лог-код для сообщения об ошибке
androidx.test.uiautomator.UiObjectNotFoundException: UiSelector[TEXT=My Application]
Комментарии:
1. Похоже, вы, по сути, пытаетесь проверить, что происходит в изменениях жизненного цикла. Рассмотрите возможность использования ActivityScenario для своих тестов вместо того, чтобы полагаться на UI Automator, чтобы вы могли более безопасно управлять событиями жизненного цикла.