Espresso Android匹配父级内的文本视图

问题描述 投票:4回答:2

我有一个简单的线性布局,里面有两个textview。线性布局具有唯一ID,但textviews没有。如何从这些文本视图中验证其中一个文本?

我尝试了以下代码:

 onView(allOf(NavigationDrawerComponent.topSectionWrapper,
                hasSibling(withClassName(Matchers.equalTo(TextView.class.getSimpleName())))))
                .check(matches(withText(Data.fullUserName)));

不幸的是,它不适合我。我收到以下错误:

   android.support.test.espresso.NoMatchingViewException: No views in
    hierarchy found matching
java android automated-tests android-testing android-espresso
2个回答
4
投票

使用hasDescendant()

onView(withId(R.id.recycler_view)).check(matches(atPosition(0, hasDescendant(withText("Available")))));

0
投票

有时您可能想要滚动RecyclerView,直到找到正确的子视图(如果视图不可见,则可能尚未创建)。在这种情况下使用scrollTo是不够的,Android Studio不会自动推荐更好的选择。你必须这样做:

 onView(withId(R.id.recycler_view))
 .perform(RecyclerViewActions.scrollTo(hasDescendant(withText("Available"))));
© www.soinside.com 2019 - 2024. All rights reserved.