我有一个Viewpager,它由相同片段视图的副本组成。你可以在它们之间滑动。我正在编写一个Espresso测试并尝试断言每个页面的ID,但它们显然是模棱两可的,因为加载了多个页面并且它们都共享相同的ID。我不想将视图寻呼机更改为一次只加载1页。在我的应用程序中,这样做效率很低。
我还想过使用标签并使用唯一的字符串标记每个视图,但之后我只修改源代码以便我的测试工作。我不喜欢那样。使用Espresso检查viewpager页面内容的正确方法是什么?
答案 0 :(得分:3)
假设一次只显示一个页面,您可以使用swipeLeft / swipeRight移动到页面,然后检查该页面中是否显示了正确的内容。
e.g。
onView(withId(R.id.pager))
.perform(swipeLeft())
.check(matches(hasDescendant(withText("Position #2"))));