Espresso - 在包含其他网格视图的视图寻呼机中使用网格视图
Espresso - use a grid view inside of a view pager containing other grid views
我正在尝试 select 位于视图寻呼机中的网格视图中的项目。
视图分页器中的不同页面包含相同的网格视图(但内容不同)。
有什么办法可以解决这个问题吗?
我有以下逻辑:
onData(new BaseMatcher<String>() {
@Override
public void describeTo(Description description) {
// what?
description.appendText("Matches A");
}
@Override
public boolean matches(Object item) {
return item instanceof String && ((String) item).equals("A");
}
}).inAdapterView(allOf(withId(R.id.grid_view))).perform(click());
我希望在 with/work 上开始(基本匹配器需要更新匹配方法,但我接下来可以处理...)。
然而,由于以下原因,调用失败:
android.support.test.espresso.AmbiguousViewMatcherException: '(with id: com.zachproject.espresso:id/grid_view)' matches multiple views in the hierarchy.
Problem views are marked with '****MATCHES****' below.
这是有道理的,因为找到了多个 grid_view ID(在视图寻呼机中每页一个)。
有什么想法可以让这项工作成功吗?
谢谢,
扎克
如果您将 isDisplayed()
添加到您的适配器匹配器,它只会匹配屏幕上显示的 AdapterView
,这将是当前页面上的 AdapterView
大多数情况下。
allOf(withId(R.id.grid_view), isDisplayed())
我正在尝试 select 位于视图寻呼机中的网格视图中的项目。
视图分页器中的不同页面包含相同的网格视图(但内容不同)。
有什么办法可以解决这个问题吗?
我有以下逻辑:
onData(new BaseMatcher<String>() {
@Override
public void describeTo(Description description) {
// what?
description.appendText("Matches A");
}
@Override
public boolean matches(Object item) {
return item instanceof String && ((String) item).equals("A");
}
}).inAdapterView(allOf(withId(R.id.grid_view))).perform(click());
我希望在 with/work 上开始(基本匹配器需要更新匹配方法,但我接下来可以处理...)。
然而,由于以下原因,调用失败:
android.support.test.espresso.AmbiguousViewMatcherException: '(with id: com.zachproject.espresso:id/grid_view)' matches multiple views in the hierarchy.
Problem views are marked with '****MATCHES****' below.
这是有道理的,因为找到了多个 grid_view ID(在视图寻呼机中每页一个)。
有什么想法可以让这项工作成功吗?
谢谢, 扎克
如果您将 isDisplayed()
添加到您的适配器匹配器,它只会匹配屏幕上显示的 AdapterView
,这将是当前页面上的 AdapterView
大多数情况下。
allOf(withId(R.id.grid_view), isDisplayed())