我正在尝试使用Espresso进行测试,以单击Listview特定元素内的按钮。
ListView中的每个元素都有一个按钮(R.id.my_button),我想单击第一个元素的按钮。
我尝试过: onData(anything())。 atPosition(0)。 inAdapterView( 所有的( withId(R.id.my_button) ) )。 perform(click());
实际结果: androidx.test.espresso.AmbiguousViewMatcherException:'(具有id:com.test.test:id / my_button)'匹配层次结构中的多个视图。
答案 0 :(得分:0)
如果要进入AdapterView,这将允许您单击listview内的元素
onData(anything()).inAdapterView(withId(R.id.list1)).atPosition(0).perform(click());
答案 1 :(得分:0)
这可能会有所帮助, 进入listView->第一个元素->第一个元素的子元素(在您的情况下为按钮)
onData(anything()).inAdapterView(withId(R.id.list)).atPosition(0).onChildView(withId(R.id.my_button)).check(matches(isDisplayed())).perform(click());