我正在尝试测试UI视图的缺失。视图选择器如下:
public static ViewInteraction onMyTestUi() {
return onView(withId(R.id.myTestId));
}
选择器可用于检查视图是否显示,但在检查视图未显示时会出现错误。我使用如下方式:选择器可以用来检查一个视图是否被显示,但是当检查一个视图是否没被显示时,就会出现错误。我是这样使用的:
onMyTestUi().check(matches(not(isDisplayed())));
但是我收到了以下错误:
com.google.android.apps.common.testing.ui.espresso.NoMatchingViewException: 找不到层次结构中与id匹配的视图:is 如果目标视图不是视图层次结构的一部分,您可能需要使用Espresso.onData从以下AdapterViews之一加载它: android.widget.ListView {...}
这很奇怪。我正在检查UI的缺失,并且预计此视图将无法找到。那么为什么Espresso会报错呢? 请建议在这里可能出了什么问题。
onView(withId(R.id.myTestId)).check(matches(not(isDisplayed())));
确实有效。 - Sithunot(isDisplayed)
。但是,如果该视图不在视图层次结构中,则需要使用doesNotExist()
。 - user846316onCreate
中根据用户角色设置了View.GONE
的可见性。那么,这是否意味着它仍然存在于视图层次结构中,只是不可见而已? - Sithu