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

J. *_* K. 8 android android-testing android-espresso

在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());
    }
}
Run Code Online (Sandbox Code Playgroud)

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

pio*_*543 10

对不起,但这是不可能的.似乎你对自动化测试的想法不够了解.

请阅读此Google参考:自动化用户界面测试

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

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

在特定时间内暂停测试的最简单方法是使用方法Thread.sleep(time_in_miliseconds),但就像我说它反对自动化测试的想法.