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