我正在尝试使用espresso测试我的应用程序
当我尝试使用以下方法滑动Viewpager时
onView(withId(view_pager)).perform(swipeRight())
我收到错误消息: 在视图上执行“快速滑动”时出错
因为我使用选项卡布局并查看页面调度程序,所以我尝试使用以下命令单击选项卡视图内的选项卡项:
onView(withId(tabItem)).perform(click())
,我得到了错误: 找不到层次结构中的视图匹配
我还尝试使用记录式Espresso测试,当我尝试运行时结束,但出现第一个错误。
我的层次结构XML布局如下:
<nested scroll>
<relative>
<linear>
<tab layout>
<item1></item1>
<item2></item2>
</tab layout>
<view pager></view pager>
</linear>
</relative>
</nested>
答案 0 :(得分:0)
您对视图执行“操作”时出错的原因是因为您的目标视图无法匹配一个或多个约束。而且,您要尝试在ViewPager
上执行滑动操作,并且该操作要求视图至少在屏幕上显示90%。因此,您的ViewPager
很可能太高而无法满足约束条件,或者没有足够的空间执行操作。
您应该在ViewPager
上使用ViewPagerActions.scrollRight而不是ViewActions.swipeRight。 ViewPagerActions.scrollRight
仅检查视图是否部分显示,并且比ViewActions.swipeRight
更可靠。
如果找不到层次结构中的任何视图,则表示找不到在onView
中声明的视图,因此不是这样的视图,或者您是只是在错误的屏幕上。