4

AndroidデバイスでMonkeyテストを行うとき、私は送信します

adb shell monkey --ignore-security-exceptions --ignore-crashes --ignore-timeouts --ignore-native-crashes --throttle 200 -s 222 -v -v -v 125000 > c:\all_monkey.txt

次に、Monkey はデバイスにランダムなイベントを大量に送信します。画面をスワイプしたり、ボタンをクリックしたりすることがよくあります。Monkey は時々設定に入り、再起動ボタンをクリックしてデバイスを再起動しますか? しばらく走っていると気がついたので、デバイス自体が再起動します。モンキー テスト クリックの再起動ボタン自体を回避できますか。ありがとう。

4

2 に答える 2

2

はい、次のチェックで再起動関数をラップできますActivityManager:

if(!ActivityManager.isUserAMonkey()){
//your code
}

isUserAMonkey () :

ユーザー インターフェイスが現在サルによって台無しにされている場合は、"true" を返します。

編集:私は最初に質問を誤解したので、ここでいくつかの役立つ答えがあります:

-p フラグ

adb shell monkey -p your.application.id.here //to restrict mokey to your application

--pct-syskeys

-pct-sysevents をゼロに設定する。ただし、ここでの問題はイベントの順序です。-コポス

于 2015-11-13T09:28:46.383 に答える
1

Monkey () に、パッケージ名で指定された特定のアプリを台無しにするように指示するだけです。(たとえば、モンキーがアプリを台無しにすることだけを許可します!)

このため-p <allowed-package-name>に、コマンドに追加します。

ドキュメントは言う:

この方法で 1 つ以上のパッケージを指定すると、Monkey はシステムがそれらのパッケージ内のアクティビティにアクセスすることのみを許可します。アプリケーションが他のパッケージのアクティビティにアクセスする必要がある場合 (連絡先の選択など)、それらのパッケージも指定する必要があります。パッケージを指定しない場合、Monkey はシステムがすべてのパッケージでアクティビティを起動できるようにします。複数のパッケージを指定するには、-p オプションを複数回使用します (パッケージごとに 1 つの -p オプション)。

于 2015-11-13T10:24:48.883 に答える