Espresso Nested Recycler Views UI 测试
Posted
技术标签:
【中文标题】Espresso Nested Recycler Views UI 测试【英文标题】:Espresso Nested Recycler Views UI testing 【发布时间】:2017-03-29 08:55:57 【问题描述】:我在垂直RecyclerView
中有一个水平RecyclerView
。我正在使用我在其他问题上找到的这段代码:
onView(allOf(isDescendantOfA(withRecyclerView(R.id.parentVerticalRecyclerView).atPosition(parentPosition)),
isDescendantOfA(withRecyclerView(R.id.childHorizontalRecyclerView).atPosition(childPosition)),
(withText("USA"))))
.perform(click());
// It is not working for parentPosition > 0
但这仅适用于父级RecyclerView
的第一行。
如何点击父RecyclerView
第二行子RecyclerView上的元素?
【问题讨论】:
【参考方案1】:我终于找到了解决办法:
onView(allOf(
withId(R.id.childHorizontalRecyclerView),
withParent(
withRecyclerView(R.id.parentVerticalRecyclerView).atPosition(2)
)
)
).perform(RecyclerViewActions.actionOnItemAtPosition(3, scrollTo()))
.check(matches(hasDescendant(withText("USA"))));
【讨论】:
初始匹配器有什么问题? 我认为问题在于我使用的是 isDescendantOfA。 Espresso 无法找到视图。以上是关于Espresso Nested Recycler Views UI 测试的主要内容,如果未能解决你的问题,请参考以下文章
如何使 Recycler View 表现得像 PlayStore Recycler Views
Espresso Test 2: Espresso_simple