Espresso:android.support.test.Espresso.AmbiguousViewMatcherAdapterView例外

Espresso:android.support.test.Espresso.AmbiguousViewMatcherAdapterView例外,android,android-espresso,android-adapterview,Android,Android Espresso,Android Adapterview,我正在尝试使用onData运行一个浓缩咖啡测试,对于只有一个AdapterView的视图来说,一切都很好。但是,当屏幕显示嵌套有多个适配器视图的视图时,我得到: android.support.test.espresso.AmbiguousViewMatcherException:“可从类分配:class android.widget.AdapterView”匹配层次结构中的多个视图 有没有办法指定哪个adapter viewonData应该查看?为了回答这个问题,我们假设其中一个Adapter

我正在尝试使用
onData
运行一个浓缩咖啡测试,对于只有一个AdapterView的视图来说,一切都很好。但是,当屏幕显示嵌套有多个适配器视图的视图时,我得到:

android.support.test.espresso.AmbiguousViewMatcherException:“可从类分配:class android.widget.AdapterView”匹配层次结构中的多个视图


有没有办法指定哪个adapter view
onData
应该查看?

为了回答这个问题,我们假设其中一个AdapterView是可扩展的ListView,另一个是ListView,并且可以通过布局文件中的唯一id轻松识别它们

您只需使用
IsDescendToFa
匹配器来隔离所需的适配器视图,如下所示:

onData(...).
inAdapterView(allOf(
    isAssignableFrom(AdapterView.class),
    isDescendantOfA(withId(R.id.listView))))
但是,如果您的适配器视图没有不同的ID,只需查看它们的各种属性,就可以找到唯一可识别的属性,您可以根据这些属性缩小选择范围