我正在尝试使用 Robotium 测试应用程序功能。其中一个功能是,当我的初始活动从活动堆栈顶部的视图启动时,它应该清除堆栈顶部并重用现有的活动 ig("MainActivity")。
流动:
FirstScreen -> LoginActivityScreen -> RegistrationScreen -> FirstScreen
解决方案很简单:
Intent intent = new Intent(getBaseContext(), FirstScreen.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
通过设置标志Intent.FLAG_ACTIVITY_CLEAR_TOP将 FirstScreen 放回我的应用程序堆栈的顶部。
我正在尝试编写的测试是确认当按下硬件后退按钮时应用程序消失并且本机主页(启动器)应用程序是当前活动。
我的仪器测试用例:
@Smoke
public void testshouldBeOnLauncherHomeScreen() {
// Monitor the Home (Launcher) Activity being Launched
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.MAIN");
filter.addCategory("android.intent.category.HOME");
ActivityMonitor monitor = getInstrumentation().addMonitor(filter, null, false);
// go back to the launcher home
robotium.goBack();
assertEquals(1, monitor.getHits());
}
我更愿意断言 Launcher 应用程序的活动是当前活动。任何想法或建议将不胜感激。