標籤:--help any proc 需要 blacklist 速度 開啟 jar error
什麼是 Monkey
Monkey 是一個 Android 自動化測試小工具。主要用於Android 的壓力測試, 主要目的就是為了測試app 是否會Crash.
Monkey 特點
顧名思義,Monkey就是猴子, Monkey測試,就像一隻猴子, 在電腦面前,亂敲鍵盤在測試。 猴子什麼都不懂, 只知道亂敲。通過Monkey程式類比使用者觸控螢幕幕、滑動Trackball、 按鍵等操作來對裝置上的程式進行壓力測試,檢測程式多久的時間會發生異常。
Monkey程式介紹
Monkey 程式是由 Android 系統內建,使用 Java 語言寫成。在Android檔案系統中的存放路徑是: /system/framework/monkey.jar;
Monkey.jar程式是由一個名為“monkey”的Shell指令碼來啟動執行,shell指令碼在Android檔案系統中 的存放路徑是:/system/bin/monkey;
Monkey 啟動方式:在 cmd 命令提示字元裡面輸入命令列來啟動 monkey 測試。
Monkey 架構
Monkey 運行在裝置或模擬器上面,可以脫離PC運行(普遍做法是將monkey作為一個像待測應用發送 隨機按鍵訊息的測試載入器。驗證待測應用在這些隨機性的輸入面前是否會閃退或者崩潰)
Monkey 參數大全
Monkey 命令基本參數介紹1、允許啟動手機裡面所有的 App , 隨機操作 1000 次
adb shell monkey 1000
2、-p : 允許啟動 App 的包名
QQ 的包名為: com.tencent.mobileqq
adb shell monkey -p com.tencent.mobileqq 1000
隨機操作 手機 QQ 1000 次
的包名為:com.tencent.mm
adb shell monkey -p com.tencent.mobileqq -p com.tencent.mm 1000
隨機操作 手機 QQ 和 1000 次
3、-v : 動作記錄記錄
命令列的每一個-v將增加反饋資訊的層級。
- -v:Level 0(預設值)除 啟動提示、測試完成和最終結果之外,提供較少資訊。
- -v -v :Level 1提供較為詳細的測試資訊,如逐個發送到Activity的 事件。
- -v -v -v :Level 2提供更加詳細的設定資訊,如測試中被選中的或未被選中的Activity。
adb shell monkey -p com.tencent.mobileqq -v -v -v 100
4、-s : 偽隨機數產生器的seed值
如果用相同的seed值再次運行monkey,將產生相同的事件序列。
adb shell monkey -s 12345 -v 10
5、--ignore-crashes : 忽略操作是崩潰異常
通常,應用發生崩潰或異常時Monkey會停止運行。如果設定此項,Monkey將繼續發送事件給系統,直到事件計數完成。
adb shell monkey --ignore-crashes -v 1000
6、--ignore-timeouts : 忽略逾時
通常,應用程式發生任何逾時錯誤(如“Application Not responding”對話方塊)Monkey將停止運行,設定此項,Monkey將繼續發送事件給系統,直到事件計數完成。
adb shell monkey --ignore-timeouts -v 1000
7、--ignore-security-exceptions : 忽略程式發生許可異常
通常,當程式發生許可錯誤(例如啟動一些需要許可的Activity)導致的異常時,Monkey將停止運行。設定此項,Monkey將繼續發送事件給系統,直到事件計數完成。
adb shell monkey --ignore-security-exceptions -v 1000
8、--throttle : 插入固定延遲
在事件之間插入固定延遲。通過這個選項可以減緩Monkey的執行速度。如果不指定該選項,Monkey將不會被延遲,事件將儘可能快地被執行。
adb shell monkey --throttle 500 -v 500
隨機執行 500 個事件,每個事件之間延遲 500 毫秒被執行。
9、--help : 列出簡單的用法
adb shell monkey -help
結果:
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、調試裝置找不到
error: no devices/emulators found
解決方案: 開啟開發人員選項,開啟 USB 調試
monkey介紹以及基本命令(一)