RecyclerView上的Espresso测试滚动行为在模拟器中不起作用

时间:2018-10-19 09:42:35

标签: android android-recyclerview android-espresso

我有以下浓缩咖啡代码可滚动到RecyclerView中的列表项:

onView(withId(R.id.selectionTrainingList))
                .check(matches(isDisplayed()))
                .perform(scrollToHolder(matcher), actionOnHolderItem(matcher, click()))

其中R.id.selectionTrainingList是RecyclerView。 如果我在真实设备上运行此代码,效果很好,但是如果我在模拟器上运行,则代码不会向下滚动。

有什么解决方案可以使它在模拟器上运行吗?

1 个答案:

答案 0 :(得分:0)

根据ViewMatchers.isDisplayed(),如果您的.check(matches(isDisplayed()))太高而无法显示在屏幕上,看来RecyclerView可能会失败,因此请尝试不勾选:

onView(withId(R.id.selectionTrainingList)).perform(actionOnHolderItem(matcher, click()))

您也可以删除scrollToHolder操作,因为actionOnHolderItem也这样做。