Espresso - 为什么Espresso发现这个匹配模糊不清?

时间:2016-06-10 00:47:28

标签: android android-espresso

我有ExpandableListView,我想click()其中一个孩子。

我尝试了 LOADS OF 不同的方式,但我似乎无法理解Espresso的工作原理。

例如,为什么这段代码不起作用?

onData(withId(R.id.execexpList)).onChildView(is(withId(200))).perform(click())

出于某种神圣的原因,它会返回"模糊匹配"我的ExpandableLIstView和我的其他ListView,但它们有不同的ID。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

onData()用于匹配ListView适配器内的项目,而不是实际视图。

onChildView()用于匹配onData()中匹配的ListView项的后代。

如果层次结构中有多个AdapterView,则必须使用inAdapterView(Matcher<View>viewMatcher)

官方API guide更详细地解释了onData()用法。