java - Android Espresso 单击 ListView 内的按钮

标签 java android android-espresso

我正在尝试使用 Espresso 进行测试,在 ListView 的特定元素内执行单击按钮的操作。

ListView中的每个元素都有一个按钮(R.id.my_button),我想单击第一个元素的按钮。

我尝试过: onData(任何东西())。 在位置(0)。 在适配器 View 中( 所有的( withId(R.id.my_button) ) )。 执行(点击());

实际结果: androidx.test.espresso.AmbigouslyViewMatcherException: '(with id: com.test.test:id/my_button)' 匹配层次结构中的多个 View 。

最佳答案

这可能会有所帮助, 进入 listView -> 第一个元素 -> 第一个元素的子元素(在您的例子中是按钮)

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

关于java - Android Espresso 单击 ListView 内的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56927198/

相关文章:

android - 以非零退出值完成 2 BaseGameServices 和 Admob

android - 为 ListView 强制 onSizeChanged

java - 安卓权限: asking options guide

java - 为什么在 Java 中会出现 NoSuchFieldError 异常?

Android - 更原始的数组仅按一个数组排序

android - 检查 Espresso 是否显示对话框

android - 使用 Espresso 和 RxJava 测试无限滚动 RecyclerView

Intellij Idea IDE 中的 Android Espresso 设置

java - Spring Boot App 适用于本地 Tomcat 但不适用于远程服务器

java - 未找到 Gradle DSL 方法 : 'google()'