Robotiumを使用してアプリケーション機能をテストしようとしています。機能の1つは、最初のアクティビティがアクティビティスタックの上のビューから起動されるとき、スタックの先頭をクリアして既存のアクティビティi.g.( "MainActivity")を再利用する必要があるということです。Android Instrumentation現在のアクティビティがホーム(ランチャー)画面であるかどうかを確認する方法をテストしますか?
フロー:
FirstScreen - > LoginActivityScreen - > RegistrationScreen - > FirstScreen
ソリューションは十分に簡単です:Intent.FLAG_ACTIVITY_CLEAR_TOPは背中にFirstScreenを置くフラグを設定することにより
Intent intent = new Intent(getBaseContext(), FirstScreen.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
私のアプリケーションスタックの最上位です。
私が記述しようとしていますテストは、ハードウェアの戻るボタンが、その後押されたときにアプリがなくなっているとネイティブホーム(ランチャー)アプリケーションが現在の活動であることを確認することです。
マイ計装のTestCase:
@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());
}
私はランチャーアプリのアクティビティが現在の活動であることを主張することを好みます。どんなアイデアや提案も大歓迎です。