我正在尝试使用onData获取循环视图,但我遇到了这个错误:
层次结构中找不到匹配的视图:可从类:class中分配 android.widget.AdapterView
代码就是这样:
onData(allOf(isAssignableFrom(RecyclerView.class), withId(R.id.ce_musers_list)))
.check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
我的适配器扩展RecyclerView.Adapter
,因为它应该用于RecycleView,然而,接缝匹配器正在寻找一个简单的适配器。
这是我第一次使用espress,所以我可能会失败一些基本的东西。
我的Espresso版本是3.0.0
答案 0 :(得分:11)
onData()
仅用于AdapterView
及其子类,RecyclerView不属于它们。
espresso附带了一个帮助程序类:RecyclerViewActions可用于对Recyclerview和viewholder项目视图执行各种操作。
例如,如果你想做一个断言 - 你可以滚动到项目视图,然后使用常规onView()...
来查看该视图持有者的详细信息。
答案 1 :(得分:1)
val recyclerView = onView(
allOf(
withId(R.id.myRecyclerView),
childAtPosition(
withClassName(`is`("androidx.constraintlayout.widget.ConstraintLayout")),
0
)
)
)
recyclerView.perform(actionOnItemAtPosition<ViewHolder>(1, click()))