猿は何ですか
猿は小さなAndroidの自動テストツールです。Androidのは、主にストレス・テストのために使用され、主な目的は、アプリがクラッシュするかどうかをテストすることです。
猿の特長
名前が示すように、猿は、コンピュータの前で猿のような猿、猿のテスト、混沌としたキーボード入力のテストです。サルはちょうどLuanqiaoを知って、何かを理解していません。試験にプログラムを強調するためのデバイスシミュレーションプログラムモンキーユーザがどのくらいプログラムに異常が発生し検出し、スライドトラックボール、操作キーなどを画面に触れます。
モンキープログラムが導入します
猿は、Java言語を使用して書かれた、Androidのシステムに付属のプログラムです。ファイルシステム内のAndroidストレージ・パスは、次のとおりです。/system/framework/monkey.jar。
Monkey.jarプログラムは、Androidのファイルシステム内のシェルスクリプトのストレージ・パス、実行を開始するには、「サル」と呼ばれるシェルスクリプトで構成されています:/システム/ binに/猿。
モンキースタート:猿のテストを開始するラインの内側CMDコマンドプロンプトでコマンドを入力します。
、猿説明:
モンキーは、Androidでのコマンドラインツールです、あなたはシステムにユーザーイベントの擬似ランダムストリームを送信し、シミュレータや実際のデバイスで実行することができます達成するために(クリックし、スライド、アプリケーション、アプリケーションが閉じている、とにかく画面の切り替え)アプリケーションは、ストレステストを開発しています。猿のテストは、ソフトウェアのための迅速なテストのため、安定した堅牢かつ有効な方法です。唯一のテストのために行われる活動は、サービスをテストしていません。
第二に、品質要件:
以前のバージョンのリリース(解放)の結果、猿は0のようにクラッシュする前に走った、最終的なリリース、猿仕上げの総数は25Wである必要があり、nullPointException結果が表示されそこに許可されていません。
三、猿のコマンドパラメータ:
。1> -p
このパラメータまたは複数のパケットで指定された制約のため、パッケージがシステムに、すべての猿アプリの起動が指定されていない場合は、指定されたパッケージの後、サルは、指定されたアプリケーションの開始を許可します。
例:パッケージcom.htc.weather -v -pモンキー指定1000は 猿複数のパッケージを指定する -p com.htc.weather -p com.htc.pdfreader com.htc.photo.widgets -v -p 1000年 に指定されていないパッケージをモンキー -v 1000年
2> -v
3つのレベルに分割された情報のレベル(ログの詳細レベル)指定されたフィードバック、レベルが高いほど、より詳細なログのために。
レベル0 : 例:サル -p com.htc.weather -v 1000年 レベル1 : 例:サル -p com.htc.weather -v -v 1000年 レベル2 : 例:サル -p com.htc.weather -v - V -v 1000年
3> -s
擬似乱数生成器のシード値を指定されたイベントのシーケンスは、同じ種場合、2匹のサルテスト生成も同様です。
サル-p com.htc.weather -s 35 -v 1000年
4> --throttle(MS)
各イベントの終了後に間隔を開発し、システムの圧力を下げます。(あなたがイベントのシーケンスを指定しない場合は、できるだけ早く送信されます)
--throttleサル300
5>カスタムイベント
--pctタッチ:タッチイベント指定されたパーセンテージ、例えば: -タッチPCT 5% 、他の関連する: -PCTモーション<パーセント> (スリップ・イベント) -PCT、トラックボール<パーセント> (イベントトラックボール) -PCT-NAV <パーセント>(ナビゲーションイベントアップ/ダウン/左/ 右) -PCT-majornav <パーセント> (メインキーナビゲーションイベントバック、MENUキー) -PCT-SYSKEYS <パーセント> (システムキーイベントホーム、戻る、StartCall、[終了]、VolumeControlに) -PCT-appswitch <パーセント> (活動の切り替え) -PCT-AnyEvent <パーセント>(いずれにしても)
6>デバッグオプション
---- DBGのNO イベント:活動の最初のスタートが、どのイベントを生成しません。 - HPROF: -推奨、一般的に、指定分析レポートを指定した後は、送信する一連のイベントの前と直後に生成されます。 --ignore- クラッシュ:無視崩壊 --ignore-は合計タイムアウト:タイムアウトを無視 --ignore-セキュリティにセキュリティ例外を無視:例外と --kill-プロセス・アフターエラー:エラーが発生した直後にプロセスを殺す --monitor、ネイティブ・クラッシュ:追跡クラッシュの局所的な方法 --wait-DBG:デバッガを接続サルテストの実施前に、知っています。
第四に、本実施例:(アンドロイドスタジオ+テスト環境シミュレータNexus_5_API_23)の使用
1 > まず、(本当のテストがコントロールしていない)、それをテストするために仮想マシンを使用するために、Androidの環境を設定するだけでなく、シミュレータを作成します。 2 >プラットフォームツールに、私はプラットフォーム以下の図のパスに示すツール Androidのスタジオでは、コマンドライン(またはCMD)は、コマンドを入力してくる 3 > クランキングシミュレータ(ADBデバイスが接続されているデバイスを一覧表示するコマンドを実行します)、テストすることがAPKをインストール APKプラットフォーム上で最初の - Toolsフォルダを、次のコマンドを実行しますADBは、ファイル名の.apkインストール 4 >次のコマンドを実行し、それぞれ、アプリケーションのメインの活動が配置されているのパッケージ名を見つけるために:
lsコマンドは、活動のパッケージ名をテストするために、メインのapkで見つかったリストからパッケージ名の後に実行されます。
5>テストを自動化するためにサルを使って
サル-pパッケージ名-v 1000年
試験結果のV.分析:
1。
2。
3。
4。
5>テストが完了すると、クラッシュと例外のない場合が表示されません
6>中間テストのクラッシュが発生した場合、または例外、サルは、印刷関連のエラーメッセージを停止します。
六、サルの試験停止条件は、(また、テストの数を停止した後に終了する続けることができ、これらの条件に表示され、コマンドで設定することができます)
最初の猿のトップは、1つまたは複数の特定のパッケージで実行されている場合は、それを検出しようとする1>そのパッケージの操作、及びブロッキングを施し、
アプリケーションがクラッシュしたり、任意の暴走異常を受信した場合2>、猿は停止し、エラーであろう。
アプリケーションが応答しないアプリケーションを、エラーを(アプリケーションが応答していない)を作成した場合は3>、猿はエラーで停止します。
通过多次并且不同设定下的Monkey测试才算它是一个稳定性和健壮性足够的程序。
七、为保证测试数量的完整进行,一般不会在发生错误时立刻退出压力测试。monkey 测试命令如下
adb shell monkey -p 包名 -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000
八、把log导出到本地
这里分为两种情况:
1.如果我们没有进入到shell则直接执行命令:
adb shell monkey -p 包名 -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 > E:\monkey_log\test1.txt
2.
如果已经进入adb shell,正确的导出步骤:(在前边我们执行完adb shell命令之后,进入shell命令相当于进入Linux的root下面,没有权限在里面创建文件。)
执行exit命令退出shell
然后执行adb shell monkey -p 包名 -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 > E:\monkey_log\test1.txt