【发布时间】:2019-07-26 16:23:46
【问题描述】:
我想滚动一个 recyclerView 并点击一个最初在屏幕上不可见的项目,使用 Espresso,但滚动操作不起作用(它在其他活动中的其他 recyclerViews 的其他测试中起作用)。
我已经尝试过https://developer.android.com/training/testing/espresso/lists中指出的onData()方法
但它也不会起作用。
这是我执行滚动并单击的方法:
fun scrollToPositionAndClick(resId: Int, position: Int) {
getActivityInstance()?.findViewById<RecyclerView>(resId)?.adapter?.let {
onView(withId(resId))
.perform(
scrollToPosition<RecyclerView.ViewHolder>(position),
actionOnItemAtPosition<RecyclerView.ViewHolder>(position, click())
)
}
}
此方法适用于其他活动测试,但由于某种原因它不适用于此屏幕(片段),我收到此错误:
androidx.test.espresso.PerformException: Error performing 'single click - At Coordinates: 290, 2197 and precision: 16, 16'
...
Caused by: androidx.test.espresso.PerformException: Error performing 'click (after 3 attempts)' on view 'unknown'.
【问题讨论】:
-
嘿,你找到解决这个问题的办法了吗?
标签: android kotlin android-recyclerview automated-tests android-espresso