单击 Espresso 中具有相同 id 的多个视图之一

Sas*_*ssa 2 android android-testing android-espresso

我的布局 (A) 多次包含另一个布局 (B)。布局 B 包含一个 id 的按钮R.id.my_button。因此,布局 A 包含许多具有相同 id 的按钮。

如何使用 espresso 测试点击这些按钮中的任何一个?

onView(withId(R.id.my_button)).perform(click());在这种情况下并没有真正做任何事情。

MyD*_*Tom 6

也许,您的布局 B 还包含一些独特的信息,TextView比如说unique name。在这种情况下,您的代码将如下所示:

onView(allOf(withId(R.id.my_button), hasSibling(withText("unique name")))).perform(click());
Run Code Online (Sandbox Code Playgroud)

更多示例可以在Espresso Wiki #ViewMatchers中找到。