まず、猿のシーンを使用
サルのAndroidプラットフォームのテストは、ユーザがデバイス上の圧力試験プログラムにテスト自動化手段である猿はトラックボール(トラックボール)、キー操作プログラムを摺動シミュレートなど、どのくらいのプログラムを検出異常が発生します画面に触れます
行うために使用
- 圧力安定性試験
- 自動テストを実行します。
- Android用モンキー主要なストレステストは、自動的にストレステストガジェット、主な目的は、アプリケーションがクラッシュするかどうかをテスト(クラッシュ)にあります
猿は時に使用するには?
- お使いの製品が安定しているような、通常の試験サルに使用され、特に時間多くのバグが存在しません
- アプリケーションの安定性を検出する、ロバスト性(フラッシュバックか否かを発生することがあり、クラッシュ)、システムテスト
どのような異常なアプリを表示されます
- 崩壊、フラッシュバック、ANRログ解析:https://www.cnblogs.com/shouhu/p/12495911.html
二、サルのテスト手順
- 1、百度で非常に簡単ですが、開発者モードをオンにする実機の必要性を接続する方法、Androidのエミュレータ/実マシンを起動します
- 2. [実行]をクリックします - cmdと入力---コマンドラインインターフェースに
- ADB装置3は、デバイス接続を表示します
- 矢上シミュレータデフォルトポート62001
- ADB接続127.0.0.1:62001
- 電話リンクの状態、テストサルAPPにコマンドラインインタフェースのコマンドを入力します。
- adbのシェル猿-p com.lemon.lemonban --ignore-クラッシュ--ignore-タイムアウト--throttle 400 -v -v -v -s 3500万> D:\ monkey_log.txt
- コマンド主なポイント:インストールパッケージ名を指定し、崩壊を無視し、タイムアウト間隔を無視し、100,000行い、ローカルにログ出力を指定します
- あなたは猿の機器を指定する必要がある場合は、次のように、基本的な構文は次のとおりです。
- $ ADB -S [デバイス]シェル猿[オプション]
第三に、どのようにAPPのパッケージ名を取得します
ケースが崩壊するかどうかをテスト中に、我々はテストにAPPパッケージ名が必要です
1、または実機シミュレータとコンピュータのリンク
2、実機やエミュレータオープンアプリケーションAPP
3.現在開いているアプリケーション、コマンドを取得するには、パッケージの名前を入力します。
- アンドロイド8.0以下の入力コマンド:
- 私は「mFocusedActivity」を見つけるのadbシェルdumpsys活動
- アンドロイド8.0以降のコマンドを:
- adbのシェルdumpsys活動| 「mResumedActivity」を見つけます
四、サルコマンド
1.moneyの実行
- 一般的に小規模なプロジェクト万回、百万回の大規模なプロジェクト
2.テストAPPメインコマンド:
- adbのシェル猿-pコム。lemon.lemonban --ignore-クラッシュ--ignore-タイムアウト--throttle 400 -v -v -v -s 3500万> D:\ monkey_log.txt
- コマンド・インタプリタ:インストールパッケージ名を指定し、崩壊を無視し、タイムアウト間隔を無視し、100,000行い、ローカルにログ出力を指定します
3.各フィールド
-p
- 1つ以上のパケット(パッケージ、即ちAPP)と、このパラメータを指定するための制約。パケットを指定した後、猿は唯一のシステムは、APPは、パッケージが指定されていない場合、システムは、デバイスは、すべてのアプリを起動することができます、指定された起動できるようになります。
- 指定パッケージ:adbのシェル猿-p tv.danmaku.bili 10
- 複数のパッケージを指定します。adbのシェル猿-p cn.emoney.acg -p cn.emoney.wea -p cn.emoney.acg 100
- adbのシェル猿100:-pパッケージ名が指定されていません
- システム全体のサルのテストも、インストールパッケージにはランダムにあなたの携帯電話に割り当てられます、パッケージ名を指定しないでください
- パッケージ名のために、100は、イベントカウント(ある、1000年のイベントをシミュレートするために猿のランダムなユーザプログラムを聞かせて)com.tencent.eduです
--ignore-クラッシュ
- クラッシュを無視
- 実行を停止するには猿かどうか、(フォース&クローズエラー)アプリケーションのクラッシュを指定するために使用されます。このパラメータを使用する場合、イベントカウントが終了するまで、アプリケーションがクラッシュした場合でも、猿はまだイベントを送信します。
- Monkeの実行を使用すると、アプリケーションがクラッシュする問題が発生した場合ときなので、デフォルトのストップランニング、あなたはクラッシュを無視する必要があります
- 実行を停止するには猿かどうか、(フォース&クローズエラー)アプリケーションのクラッシュを指定するために使用されます。このパラメータを使用する場合、イベントカウントが終了するまで、アプリケーションがクラッシュした場合でも、猿はまだイベントを送信します。
- コマンド
- adbのシェル猿は-p cn.emoney.acg 1000を--ignore-クラッシュ
- でも、プログラムがクラッシュをテストACG、猿はまだ今のところ1000年のイベントの数まで、イベントを送信し続けます
- adbのシェル猿-p cn.emoney.acg 1000年
- 試験中、ACGプログラムがクラッシュした場合、猿は実行を停止します
- adbのシェル猿は-p cn.emoney.acg 1000を--ignore-クラッシュ
--ignore-タイムアウト
- タイムアウトを無視
- アプリケーションは、ANR(出願番号が応答)エラーの発生を指定するために使用されるとき、猿は、実行を停止するかどうか。このパラメータを使用する場合、イベントカウントが終了するまで、アプリケーションエラーが発生したANRた場合でも、猿はまだイベントを送信します。
- コマンド
- ADB shellmonkey -p cn.emoney.acg --ignore-タイムアウト1000年
--throttle <ミリ秒>
- ミリ秒単位で、ユーザ操作(すなわち、入射)との間の遅延を指定し、指定されたイベント間の時間間隔を
- コマンド
- adbのシェル猿-p cn.emoney.acg -throttle 5000 100
-v
ログレベル:それぞれのレベルを指定したフィードバック情報(ログ情報のレベルは、詳細のレベルである)、三つのサブレベルの合計、次のようにパラメータに対応します。
- ログレベルレベル0
- 示例:adbのシェル猿-p cn.emoney.acg -v 100
- 説明デフォルト値、ブートプロンプトでの情報量の少ない、完全かつ最終的なテスト結果など
- ログレベルレベル1
- 示例:adbのシェル猿-p cn.emoney.acg -v -v 100
- 説明は、活動のそれぞれに送信されるイベント情報を含むより詳細なログを提供し、
- ログレベルレベル2:本の一般的な使用
- 示例:adbのシェル猿-p cn.emoney.acg -v -v -v 100
- テストを含むログの最も詳細な説明は、確認/未確認の活動情報を
-s
指定擬似乱数発生器のシード値、イベントのシーケンスと同じ種であれば、2匹の試験猿も同様に生じました。
- コマンド
- モンキー测试1:adbのシェル猿-p cn.emoney.acg -s 10 100
- モンキー测试2:adbのシェル猿-p cn.emoney.acg -s 10 100
- 図10は、-s擬似乱数であり、100は、イベントの数であります
- 説明
- 二つの効果がシミュレートされたユーザーの動作シーケンスと同じであるテスト
- (特定の配列になる動作の各一連の動作、すなわち配列)が同じです
- 一連の操作がランダムに生成されているが、私たちは、同じ値の種を指定した場合
- 操作のランダム配列は、二つの試験が同一で生成することが保証ので、疑似ランダムシーケンスの動作することができます。
--ignore-セキュリティ例外
- 異常なライセンスを無視
- 許可アプリケーションエラーが発生した(ような証明書のライセンス、ネットワークライセンス、などなど)を指定するために使用すると、猿は実行を停止するかどうか。このパラメータを使用する場合、イベントカウントが終了するまで、ライセンスアプリケーションエラーが発生した場合でも、猿はまだイベントを送信します。
- コマンド
- adbのシェル猿-p cn.emoney.acg --ignore-セキュリティ例外1000年
--randomizeスロットル
- イベント間の遅延を増やします
- ミリ秒単位で、スロットル設定に0の範囲内のイベントの間のランダムな遅延、ランダムな遅延時間を挿入します
- ランダム遅延した場合、固定遅延は--throttle <ミリ秒>を追加する必要があります
- コマンド
- adbのシェル猿-p com.lemon.lemonban --throttle 5000 --randomize、スロットル100
- 説明:実行さ百倍の猿ランダムイベントは、各イベントは、0から5000ミリ秒の間の間隔は固定されていません
--pkg-ホワイトリストファイル
- TXTファイルに続いてホワイトリスト、
- 1、あなたはTXTファイル内に書かれたパッケージ名を設定したホワイトリストの最初のステップは、英語であるパスとファイル名を覚えています
- D:whitelist.txt
- 2、このファイルアンドリュースは、私たちのマシンが入る引っ張っ
- /データ/ローカルの/ tmp /以下
- 電話にプルファイル
- ADB Dを押してください:\ whitelist.txt /データ/ローカルの/ tmp /
- 両方のバックスラッシュことに注意してください
- 1、あなたはTXTファイル内に書かれたパッケージ名を設定したホワイトリストの最初のステップは、英語であるパスとファイル名を覚えています
- コマンド
- 100 /data/local/tmp/whitelist.txt adbのシェル猿--pkg-ホワイトリストファイル
--pkg - ブラックリストファイル
- txtファイルに続いてブラックリスト、
- 電話にプルファイル
- ADBのプッシュD:\ blacklist.txt /データ/ローカルの/ tmp /
- 両方のバックスラッシュことに注意してください
- 電話にプルファイル
- コマンド
- 100 /data/local/tmp/blacklist.txt adbのシェル猿--pkg-ブラックリストファイル
五、モンキーログ解析
正常に
- テストが成功した場合は猿の実行が完了すると、最後のログは、現在実行中のイベントの数と、それにかかる時間を出力します。エグゼクティブの//モンキー完成代わっ完成\
例外
- モンキー・テスト・エラーの後、一般的な分析手順
- モンキー参照ログ(なお、第1急がせると異常な情報という)
- 質問応答のない1:ログに「ANR」を検索します
- 2.クラッシュ:検索ログ「例外」(NULLポインタの表示された場合、NullPointerExceptionが)間違いなくバグです
- 猿はログに実行の現在の数を見ることができ、最終的に割り込みを実行します
APP例外ログ分析:クラッシュ、フラッシュバック、ANR
第六に、時間の割合
図1に示すように、コマンドフォーマット
ADBシェルサル{+}イベントの数のイベントパラメータ
adbのシェル猿1000年
1000年の実行
2、例
--pctタッチ
タッチイベントの割合を調整する(タッチイベントは、画面上の単一の場所で発生するダウンアップイベント、です)
コマンド
adbのシェルサル-p com.tencent.edu --pctタッチ10 --pct回転40 -V -V -V 1000年
3、その他の詳細の割合
--pctタッチ
-
- 割合の調整イベントをクリックして、ダウンアップ、番号0
--pctモーション
-
- 移動イベント、リニアスライドの割合の調整は、1番
--pct-pinchzoom
-
- 2つのスケーラブル圧縮を調整する2号、ジェスチャーのパーセンテージ、例えばズームのようなジェスチャー操作を指し
--pct、トラックボール
-
- トラックボールは、一般的に使用されていない時間の割合を調整し、電話番号は現在、ほとんどのスクロールボール3はありませんが、プログラムのニーズは、このパラメータ曲線のスライドを使用することができ、測定する際にボール転がり曲線スリップイベントは、イベントに含まれています
--pct回転
-
- パーセンテージは、イベントの回転、横画面縦画面、数4を調整します
--pct-NAV
-
- パーセンテージ調整ナビゲーションイベント、方向入力デバイスによって示されるように、上下を含め、5番)と古い携帯電話のキーではなく、スマートなマシンを上下
--pct-majornav
-
- 割合の調整メインナビゲーションイベント、数6、例えば、中央のボタン、巻き戻しボタン、メニューキー
--PCt-SYSKEYS
-
- 割合の調整「システム」キーイベントは、7番、これらのボタンは、通常、ホーム、戻る、スタートコール、終了コール、ボリュームコントロールなどのシステムの使用のために予約します
--pct-appswitch
-
- 割合の調整アプリ切り替えイベント、数8
--pctフリップ
-
- 、隠された割合を呼び起こすキーボードを調整して数9
--pct-anyevent
-
- 他のボタンのボタンなどの上記ジャンプイベント、他のイベントの割合、第10号、及び一般的に使用されていないようなデバイスに加えて
*******転載するなど、オリジナルを尊重してください、ソースを明記してください:からの転載:https://www.cnblogs.com/shouhu/、ありがとうございました!!*******