サル演習ツールを使用して、私のアンドロイドアプリケーションをテストしてみようとしています。android.intent.categoryを使用して猿がテストする特定のアクティビティをフィルタする方法
デフォルトでは、このツールは、私はMySettingsは猿によってをテストすることにしたくないthe doc.
package="my.android"
<activity android:name=".activities.MyApp">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".activities.MyScreen">
<intent-filter>
<category android:name="android.intent.category.MONKEY"/>
</intent-filter>
</activity>
<activity android:name=".activities.MySettings"/>
に応じてカテゴリIntent.CATEGORY_LAUNCHER
またはIntent.CATEGORY_MONKEY
を持つ活動を行使します。
私の実際のケースでは、これはアクティビティがログアウトするためです。だから、ログアウトした後、テストの全体的な考え方である残りの画面をテストし続けるためにログインする方法はありません。
./adb shell monkey -p my.android -v 500
:Monkey: seed=0 count=500
:AllowPackage: my.android
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
..
// Allowing start of Intent { cmp=my.android/.activities.MySettings} in package my.android
..
それはを拒否する代わりに、私は推測することができでなければなりません。どのように私はしたくない活動に猿を避けるために任意のアイデア?すぐ
if (ActivityManager.isUserAMonkey()) { finish(); }
活動その方法:
'-c'を使ってあなたが望むパッケージを指定しようとしましたか?デフォルトが機能していない可能性がありますが、最終的に値がデフォルトと同じであっても、それらを自分で指定することができます。それが助けにならないなら、これはドキュメントのバグか 'monkey'コーディングのバグのように感じます。 – CommonsWare
はい '-c android.intent.category.LAUNCHER -c android.intent.category.MONKEY'しかし、まったく同じ結果です。私は別のカテゴリ 'android.intent.category.TEST'をフォーカスしたいモジュールで使用しようとしました(マニフェストに追加しましたが、-cオプションも使用していました)が、同じ結果を返しました:( – felipe
これまでの解決策を見つけることができますか?同じ問題がここにあります – ben