我正在测试登录页面,特别是“自动登录”复选框,这样一旦用户登录,重新打开应用程序时就会自动登录(默认情况下,用户必须从头开始登录)。
我该如何模拟这种行为?重新启动应用程序是唯一的方法吗?我能否以某种方式重置应用程序到初始屏幕(就像被重新启动一样),但是用户数据/cookies 应该被保留?
我该如何模拟这种行为?重新启动应用程序是唯一的方法吗?我能否以某种方式重置应用程序到初始屏幕(就像被重新启动一样),但是用户数据/cookies 应该被保留?
我的初始解决方案是通过 Espresso.pressBackUnconditionally()
来关闭应用程序(与 Espresso.pressBack()
类似,但当 Espresso 在测试对象应用程序或进程外导航时不会抛出异常),然后再启动活动:activityRule.launchActivity(null)
。
然而,最终我们提出了更为复杂的解决方案,在测试工具中重新启动活动:
with(activityRule) {
finishActivity()
launchActivity(null)
}
Activity测试规则已被弃用。 您可以使用以下Kotlin代码来完成此操作
activityScenarioRule.scenario.close()
ActivityScenario.launch(YourActivity::class.java, null)