我正在尝试点击我的应用中匹配文字的第一个元素。
但是目前我收到一个错误,告诉我由于我当前的代码行而导致多个匹配。
onView(allOf(withId(R.id.offerSummaryLayout))).perform(RecyclerViewActions.actionOnItem(Matchers.allOf(hasDescendant(withText("Online sale"))), click()));
如何更改此选项以便点击第一个匹配的元素?提前致谢
答案 0 :(得分:4)
如果您有多个匹配并且您只关心第一个匹配,则可以创建自定义匹配器。 This one here应该可以正常工作。
然后你可以做那样的事情(我简化了你的代码 - 如果你只有一个条件你就不需要Matchers.allOf
):
onView(withId(R.id.offerSummaryLayout)).perform(RecyclerViewActions
.actionOnItem(first(hasDescendant(withText("Online sale"))), click()));