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

Edu*_*ysh 8 android android-fragments android-espresso

我有一个Viewpager,它由相同片段视图的副本组成.你可以在它们之间滑动.我正在编写一个Espresso测试并试图断言每个页面的ID,但它们显然是模棱两可的,因为加载了多个页面并且它们都共享相同的ID.我不想将视图寻呼机更改为一次只加载1页.在我的应用程序中,这样做效率很低.

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

yog*_*arl 3

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

这里有一些例子

例如

 onView(withId(R.id.pager))
   .perform(swipeLeft())
   .check(matches(hasDescendant(withText("Position #2"))));
Run Code Online (Sandbox Code Playgroud)