点击回收器视图Android espresso Testing上的第一个匹配文本

时间:2017-03-22 16:39:24

标签: android android-espresso uitest

我正在尝试点击我的应用中匹配文字的第一个元素。 但是目前我收到一个错误,告诉我由于我当前的代码行而导致多个匹配。 onView(allOf(withId(R.id.offerSummaryLayout))).perform(RecyclerViewActions.actionOnItem(Matchers.allOf(hasDescendant(withText("Online sale"))), click()));

如何更改此选项以便点击第一个匹配的元素?提前致谢

1 个答案:

答案 0 :(得分:4)

如果您有多个匹配并且您只关心第一个匹配,则可以创建自定义匹配器。 This one here应该可以正常工作。

然后你可以做那样的事情(我简化了你的代码 - 如果你只有一个条件你就不需要Matchers.allOf):

onView(withId(R.id.offerSummaryLayout)).perform(RecyclerViewActions
        .actionOnItem(first(hasDescendant(withText("Online sale"))), click()));