我正在尝试使用onData
运行浓缩咖啡测试,并且对于其中只有一个AdapterView的视图来说,一切正常。但是,当屏幕显示一个视图,其中嵌套了多个适配器视图时,我得到:
android.support.test.espresso.AmbiguousViewMatcherException:'可从类分配:类android.widget.AdapterView'匹配层次结构中的多个视图。
有什么方法可以指定应该查看哪个适配器视图onData
?
最佳答案
为了得到答案,我们假设您的adapterviews之一是ExpandableListView,另一个是ListView,并且可以通过布局文件中的唯一ID轻松识别它们。
您需要做的就是使用isDescendentOfA
匹配器来隔离所需的AdapterView,如下所示:
onData(...).
inAdapterView(allOf(
isAssignableFrom(AdapterView.class),
isDescendantOfA(withId(R.id.listView))))
但是,如果您的适配器视图没有不同的ID,则只需查看它们的各种属性即可,您可能会发现可以唯一标识的属性,可以根据这些属性来缩小选择范围。