简体   繁体   English

Android Espresso单击ListView内的按钮

[英]Android Espresso click a button inside a ListView

I'm trying to make a test with Espresso that performs a click on a button within a specific element of my Listview. 我正在尝试使用Espresso进行测试,该测试在Listview的特定元素内的按钮上单击。

Each element in the ListView has aa button (R.id.my_button) and I want to click the button of the first element. ListView中的每个元素都有一个按钮(R.id.my_button),我想单击第一个元素的按钮。

I tried: onData(anything()). 我试过了:onData(anything())。 atPosition(0). atPosition(0)。 inAdapterView( allOf( withId(R.id.my_button) ) ). inAdapterView(allOf(withId(R.id.my_button)))。 perform(click()); perform(click());

Actual result: androidx.test.espresso.AmbiguousViewMatcherException: '(with id: com.test.test:id/my_button)' matches multiple views in the hierarchy. 实际结果:androidx.test.espresso.AmbiguousViewMatcherException:'(ID为com.test.test:id / my_button)(与ID匹配)。

如果要进入AdapterView,可以单击listview中的元素

onData(anything()).inAdapterView(withId(R.id.list1)).atPosition(0).perform(click());

这可能会有所帮助,进入listView->第一个元素->第一个元素的子对象(在您的情况下为按钮)

onData(anything()).inAdapterView(withId(R.id.list)).atPosition(0).onChildView(withId(R.id.my_button)).check(matches(isDisplayed())).perform(click());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM