为什么Espresso测试完成后会退出应用?如何阻止它这样做?

9
在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,登录后,下一个活动显示1-2秒,然后退出该活动,将我留在启动器屏幕上。如何使Espresso停留在该屏幕上?


你可能想查看这个问题:https://dev59.com/YZ_ha4cB1Zd3GeqPvj-I - Marco Romano
1个回答

10

很抱歉,但这是不可能的。

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

Espresso、Robotium、Calabash 和其他 UI 测试框架都是为短期交互测试事件而设计的。它模拟用户的特定行为——运行应用程序、进行一些操作,如果成功,则关闭应用程序。

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

暂停测试一段特定时间的最简单方法是使用方法Thread.sleep(time_in_miliseconds),但正如我所说,这违反了自动化测试的思想。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接