首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Espresso测试嵌套RecyclerView (RecyclerView中的RecyclerView)

如何使用Espresso测试嵌套RecyclerView (RecyclerView中的RecyclerView)
EN

Stack Overflow用户
提问于 2020-07-06 14:12:36
回答 1查看 436关注 0票数 4

我已经在另一个RecyclerView(parentRecyclerView)中实现了RecyclerView(childRecyclerView),图片blow解释了所有的实现:

我想写一个espresso测试来检查childRecyclerView中的所有TextViews都是预期的文本,我已经检查了这个答案https://stackoverflow.com/a/34141230/3522182,所以在我的例子中是这样的:

代码语言:javascript
复制
onView(allOf(isDescendantOfA(withRecyclerView(R.id.parentRecyclerView).atPosition(0)),
                isDescendantOfA(withRecyclerView(R.id.childRecyclerView).atPosition(0)),
                withId(R.id.textView1)))
                .check(matches(withText("some text")));

这没问题,但我遇到的问题是,当我在withRecyclerView(R.id.parentRecyclerView).atPosition(0)中为atPosition传递1时,我得到一个错误,指出在层次结构中找不到该视图:

代码语言:javascript
复制
No views in hierarchy found matching: (is descendant of a: RecyclerView with id: com.example.testapp:id/parentRecyclerView at position: 1

有没有其他方法来测试childRecyclerView内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-28 06:12:47

我用了这个,它起作用了:

代码语言:javascript
复制
onView(withId(R.id.parentRecyclerView))
    .perform(RecyclerViewActions.scrollToPosition<RecyclerView.ViewHolder>(0))

onView(
    allOf(
        isDescendantOfA(allOf(
            withId(R.id.contentRootLayout),
            hasDescendant(withText("title text"))
        )),
        isDescendantOfA(withId(R.id.childRecyclerView)),
        withId(R.id.textView1),
        withText("some text")
    )
).check(matches(isDisplayed()))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62750213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档