如何在 Espresso 测试中重启 Android 应用程序(/应用程序状态)?
How to restart Android app (/app state) within Espresso test?
我正在测试登录页面 - 特别是 "Autologin" 复选框,以便登录一次的用户将在重新打开应用程序时自动登录(默认情况下,用户应从头开始登录)。
如何模拟这种行为?重启应用程序是唯一的方法吗?我能否以某种方式将应用程序重置为初始屏幕(就像重新启动一样),但应该保留 userdata/cookies?
我最初的解决方案是通过 Espresso.pressBackUnconditionally()
关闭应用程序(它类似于 Espresso.pressBack()
但当 Espresso 导航到应用程序或被测进程之外时不会抛出异常)并启动 activity 再次:activityRule.launchActivity(null)
.
然而,最后我们提出了更复杂的重新启动解决方案 activity instrumentation:
with(activityRule) {
finishActivity()
launchActivity(null)
}
我正在测试登录页面 - 特别是 "Autologin" 复选框,以便登录一次的用户将在重新打开应用程序时自动登录(默认情况下,用户应从头开始登录)。
如何模拟这种行为?重启应用程序是唯一的方法吗?我能否以某种方式将应用程序重置为初始屏幕(就像重新启动一样),但应该保留 userdata/cookies?
我最初的解决方案是通过 Espresso.pressBackUnconditionally()
关闭应用程序(它类似于 Espresso.pressBack()
但当 Espresso 导航到应用程序或被测进程之外时不会抛出异常)并启动 activity 再次:activityRule.launchActivity(null)
.
然而,最后我们提出了更复杂的重新启动解决方案 activity instrumentation:
with(activityRule) {
finishActivity()
launchActivity(null)
}