使用Espresso同时测试两个活动

时间:2019-02-22 22:31:58

标签: android testing integration-testing android-espresso

我正在为Android课程的作业编写测试测试。我希望能够检查例如TextView是否在屏幕上正确定位。为此,我想将TextView的位置与参考实现中类似TextView的位置进行比较;像这样的东西:

onView(withId(R.id.text_view))
    .check(isBottomAlignedWith(onView(withId(R.id.text_view_solution))

我遇到的问题是R.id.text_viewR.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在两个活动中搜索视图?

0 个答案:

没有答案