我有一个ViewPager,其中包含3个片段,每个片段都包含一个recyclerview。
启动页面时->默认情况下选择FragmentA,我检查FragmentA中是否有特定ID,测试是否成功。
现在,我使用swifeLeft()导航到FragmentB。奏效了。
现在,我正在检查片段B中的特定项目。但是它将引发错误,如NoMatchingViewException。在“视图层次结构”日志中,我仅看到FragmentA的视图层次结构。滑动视图层次后,以某种方式未更新。
有人遇到过同样的问题吗?
答案 0 :(得分:0)
您是否尝试过在滑动后添加睡眠?我能帮上忙。
Espresso无法检测异步工作,因此它可能会失败,因为在检查您要与之交互的视图时,您的数据尚未加载(由于网络/数据库等缓慢)。因此,最好的解决方案是实施IdlingResource,以使意式浓缩咖啡意识到它们。 您可以看一下此示例:
https://github.com/googlesamples/android-testing/tree/master/ui/espresso/IdlingResourceSample