嵌套RecyclerView的Espresso Matcher

brw*_*dev 4 android ui-testing android-espresso android-recyclerview

所以这是我的层次结构的细分:

RecyclerView --> LinearLayout --> RecyclerView --> FrameLayout -> FrameLayout 
Run Code Online (Sandbox Code Playgroud)

这是一个截图:

布局

我希望能够验证FrameLayout显示的文本.这是我到目前为止所尝试的:

onView(withRecyclerView(R.id.container_list).atPositionOnView(0, R.id.row_content))
                .check(matches(withRecyclerView(R.id.row_content).atPositionOnView(0, R.id.info_field)))
                .check(matches(isDisplayed()));
Run Code Online (Sandbox Code Playgroud)

但它导致了AmbiguousViewMatcherException.关于如何验证嵌套视图的任何想法?应该提到我从这里使用ViewMatcher .谢谢.

brw*_*dev 9

我能够使用上面提供的解释@manidesto进行一些细微的更改来验证它.

onView(allOf(isDescendantOfA(withRecyclerView(R.id.container_list).atPosition(0)),
                isDescendantOfA(withRecyclerView(R.id.row_content).atPosition(0)),
                withId(R.id.info_field)))
                .check(matches(isDisplayed()));
Run Code Online (Sandbox Code Playgroud)

主要增强功能是我使用allOf匹配器来指定我试图验证的视图的多个特征.