13

モンキー エクササイズツールを使用して、Android アプリケーションのストレス テストを実行しようとしています。

デフォルトでは、ツールはカテゴリを持つアクティビティIntent.CATEGORY_LAUNCHERまたは ドキュメントIntent.CATEGORY_MONKEYに従ってアクティビティを実行します。

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"/>

MySettings を 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
..

私が推測することを許可するのではなく、拒否する必要があります。サルがやりたくない活動に入らないようにする方法はありますか?

4

1 に答える 1

7

私がこれを処理した方法は、サルにテストさせたくないアクティビティの onCreate(...) に次を追加することです。

if (ActivityManager.isUserAMonkey()) { finish(); }

そうすれば、サルによってテストされている場合、アクティビティはすぐに終了します。

于 2013-01-20T21:04:31.497 に答える