java - Android Espresso 执行点击第一个匹配项

标签 java android android-espresso

Espresso 库中有方法 firstMatch() 吗?现在我遇到了这个异常

android.support.test.espresso.AmbiguousViewMatcherException matches multiple views in the hierarchy.

我有一个 RecyclerView,其中一些项目正在显示 R.id.textRowBottom,但不是全部。我想要获取第一个匹配项并对其进行单击。

看起来像这样

 onView(allOf(withId(R.id.textRowBottom), isDisplayed())).perform(click());

最佳答案

如果你想测试 RecylerView 中的项目,你可以使用这个:

android.support.test.espresso.contrib.RecyclerViewActions

因此,您可以按位置选择列表中的特定项目,例如:

onView(withId(recyclerViewId)).perform(
                    RecyclerViewActions.actionOnItemAtPosition(0,
                            click(R.id.textRowBottom));

关于java - Android Espresso 执行点击第一个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40786112/

相关文章:

java - Firebase Android : how do I access params nested in data via RemoteMessage?

java - 如何从android中的语音合成器保存音频文件(android.speech.tts)?

android - 如何在 aws device farm 中每次运行 android espresso 测试后清除设备数据

android - Espresso 测试中 RecyclerView 出现 NoSuchMethodError

java - 如何设置java Short中的最高位?

java - Eclipse RCP : Command handler for view and editor

java - 重复的 zip 条目 [241.jar :android/support/design/widget/CoordinatorLayout$Behavior. 类]

android - 在 Android 中布局 4 个按钮

java - 从 Spring Framework 4.2.9 升级到 4.3+ 时自定义 ContextConfiguration Loader 出现问题

android - 如何将 Appium Espresso 与 Xamarin Forms 应用程序一起使用