2

Robotiumのドキュメントによると、2つのアプリケーションにまたがるテストケースを作成することはできません。「テストプロジェクトはtargetPackageにロックされています。そのターゲットパッケージの外に出ることは、Androidプラットフォームでは許可されていません。したがって、2つのテストプロジェクトが必要になります。1つはアプリケーションごとに。」

現在私がやりたいのは猿の道具のようなものです。画面上でランダムにアクションを実行して、アプリケーションの機能を徹底的にトリガーしたいと思います。トラバースプロセス中に、プログラムフローがアプリケーションから出て、JUnitまたはRobotiumがプログラムの制御を失うことがあります。プログラムフローをアプリケーションに戻す方法はありますか?または、複数のアプリケーションを同時に制御できる方法はありますか?

ありがとう!

4

2 に答える 2

1

Android 4.1 以降でのみテストする場合は、複数のパッケージにわたるテストをサポートする新しい UI Automator フレームワークを使用できます。

いくつかの情報:
https://plus.google.com/103712615773524578393/posts/dzqtF7BYyG4

于 2012-11-15T01:40:08.607 に答える
1

アクティビティ マネージャーにアクセスし、アプリ内または別のアプリケーション内で外部サービスとしてアクティブなものを 2 秒ごとに読み取る単純なアプリケーションを作成することで簡単に行うことができます。

http://developer.android.com/reference/android/app/ActivityManager.html

基本的に、ActivityManager.RecentTaskInfo() を確認し、開始元のアクティビティ コンポーネントが問題ないことを確認します。次に、通常のユーザーに影響を与えないように.isUserAMonkey()、真のブール値を返します。

アクティビティが目的のものでない場合は、次のように記述します。

else
startService(new Intent(this, TheService.class));

また

else 
startActivity(new Intent(this, TheActivity.class)); 
于 2012-11-14T20:35:13.247 に答える