0

Robotiumを使用してAndroidアプリのテストケースを作成しています。私のテストケースの1つは、ファイル(画像など)を開きます。これにより、別のアプリから別のアクティビティを開いて画像を表示します。

これまでのところ、すべてが順調です。ただし、その後、さらに機能をテストしたいので、テスト中のアクティビティに戻りたいと思います。

どうすればこれを達成できますか?

ない

solo.sendKey(android.view.KeyEvent.KEYCODE_BACK);

または

solo.goBack();

または

solo.getCurrentActivity().onBackPressed()

画像を表示するアクティビティは別のアプリに属しているため、別のプロセスに属しているため、機能します。

他に試すことができるものはありますか?

4

4 に答える 4

4

はい、受け入れテストを行っています。これは、システムのUIが機能することを確認するためです。

画像が開かれていることをテストする必要はありません(これはアプリの範囲外であるため)。

ただし、このイメージを開くために正しいインテント(または任意のコードスニペット)を呼び出すことを表明する個別の単体テストを用意することをお勧めします。

そうすれば、他の人のコードをテストする問題ではなく、テストでコードをカバーできます。

于 2012-06-22T10:58:45.807 に答える
1

初期状態に到達するために、ターゲットアクティビティを再起動することをお勧めします。

..... mSolo.finishOpenedActivities(); setActivity(null); mSolo = new Solo(mInstrumentation、getActivity()); ...。

于 2014-03-12T10:51:59.723 に答える
1

私にとって、これは仕事をします:

mSolo.goBackToActivity("MainActivity");

私の場合、ブラウザでURLを開いてから、テスト対象のアクティビティに戻ります。(これまでのところ)唯一の欠点は、他のアプリケーションがバックスタックに残っていることですが、おそらくそれに対する修正もあります。

この質問がされた後、このメソッドが追加されたと思います。

于 2015-04-24T08:52:14.463 に答える
0

adbコマンドを実行でき、このインテントによって開始されたアプリケーションがわかっている場合は、次の操作を実行できます。

adb shell am force-stop <package-of-started-app>

その後、前のアクティビティに戻ります。

注:このインテントに使用できるアプリが複数あり、アプリ選択ダイアログが表示されている場合、これは機能しません。この場合、このインテントのデフォルトのアプリを手動で設定する必要があります。

于 2014-04-30T08:43:45.480 に答える