android - 如何使用 Espresso 检查 Viewpager 项目 ID?

标签 android android-fragments android-espresso

我有一个 Viewpager,它由相同 fragment View 的副本组成。您可以在它们之间滑动。我正在编写 Espresso 测试并尝试对每个页面的 ID 进行断言,但它们显然不明确,因为加载了多个页面并且它们都共享相同的 ID。我不想将 View 寻呼机更改为一次只加载一页。在我的应用程序中,这样做效率很低。

我也考虑过使用标签并用唯一的字符串标记每个 View ,但后来我只是修改源代码以便我的测试工作。我不喜欢那样。使用 Espresso 检查 viewpager 页面内内容的正确方法是什么?

最佳答案

假设一次只显示一个页面,您可以使用 swipeLeft/swipeRight 移动到一个页面,然后检查该页面中是否显示了正确的内容。

There are some examples here .

例如

 onView(withId(R.id.pager))
   .perform(swipeLeft())
   .check(matches(hasDescendant(withText("Position #2"))));

关于android - 如何使用 Espresso 检查 Viewpager 项目 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27694674/

相关文章:

java - android.database.CursorIndexOutOfBoundsException : Index -1 requested, 大小为 7

android - 在 Android Espresso 中按下概览按钮

android - Robolectric, Gradle, Espresso with Flavours

android - 启动后立即自动启动应用程序

android - MSBUILD : cordova-build error : Error: cmd: Command failed with exit code ENOENT

Android:长按 ExpandableListView 的 subview ?

android - FragmentPagerAdapter - 当用户转到新标签时如何检测滑动或标签点击?

java - Fragment 包中的空参数

java - 将数据从 RecyclerView 发送到 Fragment

android jetpack 导航仪器测试返回导航失败