Android - Espresso测试 - 关闭和应用然后重新打开它?

时间:2016-11-09 13:25:22

标签: android android-espresso

在我的espresso测试中,我使用" device.pressBack()"关闭应用程序。 然后我想在某个活动中重新打开应用程序,但我不太确定如何做到这一点,因为此时我甚至没有上下文。有人有想法吗?

3 个答案:

答案 0 :(得分:3)

好的,明白了。您可以在测试类中定义规则:

@Rule
public ActivityTestRule<MyActivity> myActivityTestRule = new ActivityTestRule<>(MyActivity.class, true, false);

然后,在使用device.pressback()之后,您可以使用它在您的应用中打开该特定活动:

myActivityTestRule.launchActivity(null);

答案 1 :(得分:0)

关闭应用程序后,会引发NoActivityResumedException异常,因此您必须捕获它。

之后,使用Cookienator所说的类型ActivityTestRule的{​​{1}}重新启动您的活动。

MyActivity

答案 2 :(得分:0)

这将关闭您的应用,然后再次重新打开。

首先,执行下面的代码。导航回上一个活动。

            pressBackUnconditionally();

然后执行下一个代码。它将关闭您的应用程序或活动

 @Rule
public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class);

            activityRule.finishActivity();

最后,使用下面的代码打开应用程序/活动

 activityRule.launchActivity(new Intent());

下面是完整的片段

        pressBackUnconditionally();
        activityRule.finishActivity();
        activityRule.launchActivity(new Intent());