为什么 Espresso 在测试完成后离开应用程序?如何阻止它这样做

Why does Espresso leave the app after the test has finished? How to stop it from doing that

在 Android Studio 的 androidTest 文件夹中,我有这个测试用例:

@RunWith(AndroidJUnit4.class)
@LargeTest
public class LoginActivityTest {

    @Rule
    public ActivityTestRule<LoginActivity> activityTestRule =
            new ActivityTestRule<>(LoginActivity.class);

    @Test
    public void teamsListIsSortedAlphabetically() {
        onView(withId(R.id.etEmail)).perform(click(), replaceText("asd@asd.vf")
        );
        onView(withId(R.id.etPassword)).perform(click(), replaceText("asdasd")
        );
        onView(withId(R.id.bLoginSubmit)).perform(click());
    }
}

应用程序启动 LoginActivity,登录,下一个 activity 显示 1-2 秒,然后退出 activity,让我留在启动器屏幕上。如何让 Espresso 停留在该屏幕上?

抱歉,这是不可能的。

请阅读此 Google 参考资料:Automating User Interface Tests

Espresso、Robotium、Calabash 和其他 UI 测试框架是为简短的交互测试事件而制作的。它模拟用户的特定行为 - 运行 应用程序,执行一些技巧(如果成功)而不是关闭应用程序。

当然,Espresso 允许您创建自定义空闲资源,而不是在应用程序中注册它。

让测试休眠特定时间的最简单方法是使用方法 Thread.sleep(time_in_miliseconds),但正如我所说,这与自动化测试的想法背道而驰。