Espresso-检查Viewpager特定片段中的特定项目

时间:2018-09-25 21:34:19

标签: android android-espresso

我有一个ViewPager,其中包含3个片段,每个片段都包含一个recyclerview。

启动页面时->默认情况下选择FragmentA,我检查FragmentA中是否有特定ID,测试是否成功。

现在,我使用swifeLeft()导航到FragmentB。奏效了。

现在,我正在检查片段B中的特定项目。但是它将引发错误,如NoMatchingViewException。在“视图层次结构”日志中,我仅看到FragmentA的视图层次结构。滑动视图层次后,以某种方式未更新。

有人遇到过同样的问题吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过在滑动后添加睡眠?我能帮上忙。

Espresso无法检测异步工作,因此它可能会失败,因为在检查您要与之交互的视图时,您的数据尚未加载(由于网络/数据库等缓慢)。因此,最好的解决方案是实施IdlingResource,以使意式浓缩咖啡意识到它们。 您可以看一下此示例:

https://github.com/googlesamples/android-testing/tree/master/ui/espresso/IdlingResourceSample