我正在为Android课程的作业编写测试测试。我希望能够检查例如TextView
是否在屏幕上正确定位。为此,我想将TextView
的位置与参考实现中类似TextView
的位置进行比较;像这样的东西:
onView(withId(R.id.text_view))
.check(isBottomAlignedWith(onView(withId(R.id.text_view_solution))
我遇到的问题是R.id.text_view
和R.id.text_view_solution
存在于单独的活动中。我创建了两个活动规则,一个用于作业解决方案,另一个用于学生提交:
@Rule
public ActivityTestRule<MainActivity> mSubmission = new ActivityTestRule<>(MainActivity.class);
@Rule
public ActivityTestRule<MainActivitySolution> mSolution = new ActivityTestRule<>(MainActivitySolution.class);
以前,我只是简单地获取与上述规则相关联的活动,并亲自遍历层次结构进行检查,但是能够使用诸如isBottomAlignedWith
之类的便捷方法会很好。另外,我想切换到Espresso,因为这是我可以在横向测试中的唯一方法(这也是我需要做的事情)。
但是,由于某些原因,onView
将仅搜索最近创建的活动。因此,我可以在MainActivitySolution
中找到视图,而不能在MainActivity
中找到视图。有没有办法让Espresso在两个活动中搜索视图?