出来ますか?残念ながら、Robotium を簡単に実行するのは非常に困難です。これは、Robotium が現在のアクティビティを追跡する方法が原因です。ストレート インストルメンテーションを使用している場合は、クリックする前にインテント フィルターを設定するのと同じくらい簡単です。プレイ ストアを起動する表示/実行アクションを実行すると、フィルタが実際にヒットしたと断言できます (これは、フィルタがなければ実際に Google Play ストアが起動されることを証明します)。
ただし、ロボティウムを使用しているため、ロボティウムはすべてに一致するインテント フィルターを既に持っているため、これを簡単に行うことはできません。これは、リフレクションで恐ろしいことをしなければならないことを意味します。
あなたがする必要があるのは次のとおりです。
mActivityMonitors と呼ばれるインストルメンテーション クラスのプライベート メンバーを取得します。このアクティビティ モニターのリストには、その中に 1 つあることがわかります。これは robotiums アクティビティ モニターになります。これをどこかに保存してから、リストから削除します。
次に、独自のものを追加する必要があります。これは、googleplay の起動をテストするようなものです (android api ドキュメント サイトでインテント フィルターについて読むことをお勧めします)。
Instrumentation inst = getInstrumentation();
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_View);
ActivityMonitor monitor = inst.addMonitor(intentFilter, null, true); //true is imporant it blocks the activity from launching so that your test can continue.
assertEquals(0, monitor.getHits());
//do action that fires activity
assertEquals(1, monitor.getHits());
inst.removeMonitor(monitor);
robotium が引き続き期待どおりに動作するように、以前に削除したアクティビティ モニターを再度追加する必要があります。私は実際にこれをすべてテストできるマシンではありませんが、以前にこの手法を使用したことがあります。