У меня всплывающее уведомление. Мой первый тест проверяет, отображается ли это уведомление и прошло ли оно успешно. Я использую следующий метод для этого теста:
fun viewInNotificationPopupIsDisplayed(viewMatcher: Matcher<View>) {
onView(viewMatcher)
.inRoot(RootMatchers.isPlatformPopup())
.check(ViewAssertions.matches(isDisplayed()))
}
У меня проблема со вторым тестовым примером, когда я должен проверить, что мое всплывающее уведомление уже прошло (значит, оно больше не отображается).
Поэтому я пытаюсь использовать следующий метод:
fun viewInNotificationPopupIsNotDisplayed(viewMatcher: Matcher<View>) {
Espresso.onView(viewMatcher)
.inRoot(RootMatchers.isPlatformPopup())
.check(matches(not(isDisplayed())))
//.check(ViewAssertions.doesNotExist()) // doesn't work as well
}
Я получаю следующее исключение:
android.support.test.espresso.NoMatchingRootException:
Matcher 'with decor view of type PopupWindow$PopupViewContainer'
did not match any of the following roots:
[Root{application-window-token=android.view.ViewRootImpl$W@bb8371e,
window-token=android.view.ViewRootImpl$W@bb8371e, has-window-focus=true,
Пожалуйста, кто-нибудь может помочь с этим?