这段时间一直在使用espresso 进行Android 自动化测试,说句实在话,真是不实际用一下有很多东西都不会明白吧。下来列举两个遇到的问题以及解决的方法吧
界面存在一个viewpager,viewpager中的内容是两个Recyclerview并且他们的resourceId都是一致的,
这个时候,如果了解espresso的大概都能知道如果我简单的通过onView=(withId(recyclerviewId))
的话,测试过程中就会抛出如下的异常
AmbiguousViewMatcherException:This matcher matches multiple views in the hierarchy
那么这个问题要如何解决呢,其实也挺简单的。因为我们简单对比下两个recyclerView就会发现问题了,一个是VISIBLE,另一个则是INVISIBLE。所以我们可以通过下面的代码来进行确定当前界面的RecyclerView.
onView(allOf(withId(recyclerViewId), isDispla