Appium學習6:Monkey簡介

Monkey簡介

在Android的官方自動化測試領域有一隻非常著名的“猴子”叫Monkey,這隻“猴子”一旦啓動,就會讓被測的Android應用程序像猴子一樣活蹦亂跳,到處亂跑。人們常用這隻“猴子”來對被測程序進行壓力測試,檢查和評估被測程序的穩定性。
Android官方對這隻“猴子”的描述是這樣的:
The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches, or gestures, as well as a number of system-level events. You can use the Monkey to stress-test applications that you are developing, in a random yet repeatable manner.
Monkey是一個程序,運行在您的模擬器或設備上,並生成僞隨機的用戶事件流,如點擊,觸摸或手勢,以及一些系統級事件。 您可以使用Monkey以隨機但可重複的方式對您正在開發的應用程序進行壓力測試。
monkey官方文檔:http://www.android-doc.com/tools/help/monkey.html

Moneky 路徑

Monkey程序是Android系統自帶的,其啓動腳本是位於Android系統的/system/bin目錄的Monkey文件,其jar包是位於Android系統的/system/framework目錄的Monkey.jar文件。用戶主要是通過adb命令來啓動Monkey的,Monkey在運行時,會根據命令行參數的配置,生成僞隨機的事件流,並在Android設備上執行對應的測試事件。同時,Monkey還會對測試系統進行監測,當出現以下三種情況時會進行特殊處理:
•    如限定了Monkey運行在特定包上,當監測到試圖轉到其他包的操作,將對其進行阻止。
•    如應用程序崩潰或接收到任何失控異常,Monkey將記錄對應的錯誤日誌,並根據命令行參數判斷是停止運行還是繼續運行。
•    如果應用程序發生了程序無響應(application not responding)的錯誤,Monkey將記錄對應的錯誤日誌,並根據命令行參數判斷是停止運行還是繼續運行。
•    按照選定的不同級別的反饋信息,在Monkey中還可以看到其執行過程報告和生成的事件。


Monkey啓動步驟

1.    連接移動設備
2.    連接成功後輸入命令

adb shell

3.    進入到指定目錄

cd /system/bin

4.輸入 monkey命令看到如下提示則說明啓動成功。

usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
              [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
              [--ignore-crashes] [--ignore-timeouts]
              [--ignore-security-exceptions]
              [--monitor-native-crashes] [--ignore-native-crashes]
              [--kill-process-after-error] [--hprof]
              [--pct-touch PERCENT] [--pct-motion PERCENT]
              [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
              [--pct-nav PERCENT] [--pct-majornav PERCENT]
              [--pct-appswitch PERCENT] [--pct-flip PERCENT]
              [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
              [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
              [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
              [--wait-dbg] [--dbg-no-events]
              [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
              [--port port]
              [-s SEED] [-v [-v] ...]
              [--throttle MILLISEC] [--randomize-throttle]
              [--profile-wait MILLISEC]
              [--device-sleep-time MILLISEC]
              [--randomize-script]
              [--script-log]
              [--bugreport]
              [--periodic-bugreport]
              COUNT


強制關閉monkey

1.    adb shell ps 查看全部在運行的進程
2.    查找出com.android.commands.monkey 進程PID
3.    adb shell kill pid 殺掉monkey進程


monkey 命令

monkey命令格式如下:

$ adb shell monkey [options] <event-count>

•    [options] 是指monkey可傳入的參數,是可選項(如果不指定options,Monkey將以無反饋模式啓動,並把事件任意發送到安裝在目標環境中的全部包)
•    <event-count> 是指隨機發送事件數。如:輸入100就是執行100個僞隨機事件,爲必選項。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章