Espresso:点击位置未知的 Recycler 视图

Espresso: Clicking on Recycler view with unknown position

如果回收者在屏幕中的不同位置查看,我有一个列表。 喜欢下面

我想知道动态的正确位置

在我看来,单击仪器测试中的位置是一种不好的做法,因为它会导致不确定的测试。这适用于 RecyclerViewAdapterView

因此,为了不依赖某个位置,您需要一个 itemView 匹配器来执行您的 recyclerview 操作。

ItemView 匹配器是匹配ViewHolder 的itemview 的视图匹配器。在您的情况下,您需要匹配包含突出显示 RelativeLayoutLinearLayout,它可以表示为 hasDescendant(withText("Job 109"))

您的最终解决方案应如下所示:

onView(allOf(withId(R.id.recycler_view),isDisplayed())).perform(Recyclerview actions.actionOnItem(hasDescendant(withText("Job 109")), click()));