问题
I have a layout (A) that includes another layout (B) multiple times. Layout B contains a button with id R.id.my_button
. As a result, layout A contains many of those buttons with the same id.
How do I test clicking on any of those buttons with espresso?
onView(withId(R.id.my_button)).perform(click());
doesn't really do anything in this case.
回答1:
Probably, your layout B contains also some unique information, let's say TextView
with unique name
. In this case your code will look like this:
onView(allOf(withId(R.id.my_button), hasSibling(withText("unique name")))).perform(click());
More examples can be found in Espresso Wiki # ViewMatchers.
来源:https://stackoverflow.com/questions/32354340/clicking-on-one-of-many-views-with-same-id-in-espresso