如何在Espresso测试中重新启动Android应用(/应用状态)?

时间:2018-07-17 14:06:18

标签: android-testing android-espresso android-instrumentation

我正在测试登录页面-特别是“自动登录”复选框,以便一次登录的用户将在重新打开应用程序后自动登录(默认情况下,用户应从头开始登录)。

我如何模拟这种行为?重新启动应用程序是唯一的方法吗?我可以通过某种方式将应用重置到初始屏幕(就像重新启动一样),但是应该保留userdata / cookie吗?

1 个答案:

答案 0 :(得分:0)

我最初的解决方案是通过Espresso.pressBackUnconditionally()关闭该应用程序(它类似于Espresso.pressBack(),但是当Espresso导航到正在测试的应用程序或进程之外时,不会引发异常)并再次启动活动: activityRule.launchActivity(null)

但是,最后,我们提出了在仪器内部重新启动活动的更复杂的解决方案:

with(activityRule) {
    finishActivity()
    launchActivity(null)
}