Monkey、Monkey scriptとMonkeyrunner
3083 ワード
MonkeyテストはAndroidアプリケーションの頑丈性テストの手段としてよく使われています.
一連の擬似ランダム命令をデバイス/シミュレータにランダムに送信することをシミュレートすることで、アプリケーション/システムの安定性をテストする一般的な動作を検証します.基礎パラメータ
-sシードシーケンス、指定ランダムシーケンス-p指定イベントのパッケージ名-vログレベル--throttleイベント間隔
イベントのタイプ
--pct-touchタッチイベント、指を押して持ち上げるジェスチャー--pct-motionスライドイベント、ある位置で指を押して、距離をスライドしてから持ち上げる--pct-pinchzoom縮小イベント--pct-trackball軌跡球イベント、一連のランダム移動とクリックイベント--pct-syskeys系統ナビゲーションイベント、HOME、BACK、ダイヤルアップおよびボリュームキー--pct-nav基本ナビゲーションイベント、入力デバイスの上下左右--pct-majornav主要ナビゲーションイベント(ソフトキーボード)、中間キー、戻りキー、メニューキー--pct-appswitch起動Activity--pct-anyevent非常用イベント
デバッグオプション
--ignore-crashesクラッシュと例外を無視--igonre-timeoutsタイムアウトイベントを無視
利点:簡単で操作しやすい欠点:一定の操作を指向的に実行できず、ユーザーの使用習慣とはかけ離れた使用方法:adb shell monkey-pパッケージ名ランダム操作回数
Monkey scriptは、Monkeyによって認識されるコマンドのセットであり、繰り返しの固定操作を完了することができます.
一般的な操作は次のとおりです. DispatchTrackballトラックボールイベント DispatchPointerクリックイベント DispatchString入力文字列イベント LaunchActivity起動アプリケーション UserWaitウエイトイベント DispatchPressキー値 を押す
利点:固定操作を繰り返すことができる欠点:スクリーンショット操作ができない、スクリプトがデバッグできない使用方法:adb shell monkey-fファイル回数
単純なインスタンス:
よくある質問:実行時には、Monkey scriptファイルを接続デバイスにインポートする必要があります.Monkey scriptはmonkeyによって識別される操作のセットであり、monkeyは携帯電話システムにあるからです. LaunchActivity()アプリケーションを起動する際には、アプリケーションが外部から呼び出すことを許可することを前提とし、ファイルAndroidMainfestを設定することができる.xmlに を追加
Monkeyrunnnerは3つのAPIを提供し、APIを通じてシミュレーションイベントとスクリーンショット操作を完了することができる.
マルチデバイステスト、機能テスト、回帰テストに使用できます.3大APIは以下の通りです.
MonkeyRunner:デバイスまたはシミュレータを接続するMonkeyDevice:インストール、アンインストールアプリケーションを提供し、シミュレーションイベントを送信するMonkeyImage:画像保存を完了し、比較操作を行う
利点:欠点:使用方法:monkeyrunnerファイル名monkeyrunnerファイル名
一般的なAPI: MonkeyRunner API -alert void alert(string message,string tittle,string okTittle) MonkeyRunner API-waitForConnectionはデバイス接続を待機し、複数のデバイスidがあり、どのデバイスwaitForConnection(float timeout,stringデバイス) を特定する必要があるかを示す必要がある. MonkeyDeviceAPI-dragドラッグdrag(tuple start,tuple end,float duration,integer steps)start始点位置end終点位置durationジェスチャー持続時間steps補間点のステップ数、デフォルト10 MonkeyDeviceAPI-pressキーpress(string keycode,dictionary type)keycode値、Down、UP、DOWN_AND_UP MonkeyDeviceAPI-startActivity起動アプリケーションstartActivity(package+'/'+activity) MonkeyDeviceAPI-touchクリックtouch(integer X,integer y,intefer type) MonkeyDeviceAPI-type入力type(string message) MonkeyDeviceAPI-takeSnapshotスクリーンショットMonkeyImage takeSnapshot() MonkeyImage API-sameas画像比較boolean sameas(MonkeyImage other,flost percent) MonkeyImage API-writetoFile保存画像画像画像void writeToFIle(String path,string format) 説明:monkeyrunnerは%Android SDK%/toolsの下にあるので、実行時にその場所を開くか、その経路を環境変数に設定する必要があります
MonkeyとMonkeyrunnerの違い
Monkey:adb shellで、ユーザーまたはシステムの擬似ランダムイベントを生成するMonkeyRunner:APIによって特定のコマンドおよびイベント制御デバイスを定義する
Monkey安定性試験
一連の擬似ランダム命令をデバイス/シミュレータにランダムに送信することをシミュレートすることで、アプリケーション/システムの安定性をテストする一般的な動作を検証します.基礎パラメータ
-sシードシーケンス、指定ランダムシーケンス-p指定イベントのパッケージ名-vログレベル--throttleイベント間隔
イベントのタイプ
--pct-touchタッチイベント、指を押して持ち上げるジェスチャー--pct-motionスライドイベント、ある位置で指を押して、距離をスライドしてから持ち上げる--pct-pinchzoom縮小イベント--pct-trackball軌跡球イベント、一連のランダム移動とクリックイベント--pct-syskeys系統ナビゲーションイベント、HOME、BACK、ダイヤルアップおよびボリュームキー--pct-nav基本ナビゲーションイベント、入力デバイスの上下左右--pct-majornav主要ナビゲーションイベント(ソフトキーボード)、中間キー、戻りキー、メニューキー--pct-appswitch起動Activity--pct-anyevent非常用イベント
デバッグオプション
--ignore-crashesクラッシュと例外を無視--igonre-timeoutsタイムアウトイベントを無視
利点:簡単で操作しやすい欠点:一定の操作を指向的に実行できず、ユーザーの使用習慣とはかけ離れた使用方法:adb shell monkey-pパッケージ名ランダム操作回数
Monkey scriptは、Monkeyによって認識されるコマンドのセットであり、繰り返しの固定操作を完了することができます.
一般的な操作は次のとおりです.
利点:固定操作を繰り返すことができる欠点:スクリーンショット操作ができない、スクリプトがデバッグできない使用方法:adb shell monkey-fファイル回数
単純なインスタンス:
# activity
LaunchActivity()
UserWait()
#
DispatchPointer()
DispatchPointer()
UserWait()
#
DispatchString()
UserWait()
#
DispatchPress()
UserWait()
DispatchPointer()
DispatchPointer()
UserWait()
よくある質問:
android:exported="true"
Monkeyrunnnerは3つのAPIを提供し、APIを通じてシミュレーションイベントとスクリーンショット操作を完了することができる.
マルチデバイステスト、機能テスト、回帰テストに使用できます.3大APIは以下の通りです.
MonkeyRunner:デバイスまたはシミュレータを接続するMonkeyDevice:インストール、アンインストールアプリケーションを提供し、シミュレーションイベントを送信するMonkeyImage:画像保存を完了し、比較操作を行う
利点:欠点:使用方法:monkeyrunnerファイル名monkeyrunnerファイル名
一般的なAPI:
MonkeyとMonkeyrunnerの違い
Monkey:adb shellで、ユーザーまたはシステムの擬似ランダムイベントを生成するMonkeyRunner:APIによって特定のコマンドおよびイベント制御デバイスを定義する
Monkey安定性試験