轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/71750907
本文出自【趙彥軍的博客】shell
Monkey 是一個 Android 自動化測試小工具。主要用於Android 的壓力測試, 主要目的就是爲了測試app 是否會Crash.微信
顧名思義,Monkey就是猴子, Monkey測試,就像一隻猴子, 在電腦面前,亂敲鍵盤在測試。 猴子什麼都不懂, 只知道亂敲。經過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、 按鍵等操做來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常。架構
Monkey 程序是由 Android 系統自帶,使用 Java 語言寫成。在Android文件系統中的存放路徑是: /system/framework/monkey.jar;app
Monkey.jar程序是由一個名爲「monkey」的Shell腳原本啓動執行,shell腳本在Android文件系統中 的存放路徑是:/system/bin/monkey;dom
Monkey 啓動方式:在 cmd 命令提示符裏面輸入命令行來啓動 monkey 測試。工具
Monkey 運行在設備或模擬器上面,能夠脫離PC運行(廣泛作法是將monkey做爲一個像待測應用發送 隨機按鍵消息的測試工具。驗證待測應用在這些隨機性的輸入面前是否會閃退或者崩潰)測試
adb shell monkey 1000.net
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 次
命令行的每個-v將增長反饋信息的級別。
adb shell monkey -p com.tencent.mobileqq -v -v -v 100
若是用相同的seed值再次運行monkey,將生成相同的事件序列。
adb shell monkey -s 12345 -v 10
一般,應用發生崩潰或異常時Monkey會中止運行。若是設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
adb shell monkey --ignore-crashes -v 1000
一般,應用程序發生任何超時錯誤(如「Application Not responding」對話框)Monkey將中止運行,設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
adb shell monkey --ignore-timeouts -v 1000
一般,當程序發生許可錯誤(例如啓動一些須要許可的Activity)致使的異常時,Monkey將中止運行。設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。
adb shell monkey --ignore-security-exceptions -v 1000
在事件之間插入固定延遲。經過這個選項能夠減緩Monkey的執行速度。若是不指定該選項,Monkey將不會被延遲,事件將盡量快地被執行。
adb shell monkey --throttle 500 -v 500
隨機執行 500 個事件,每一個事件之間延遲 500 毫秒被執行。
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
一、調試設備找不到
error: no devices/emulators found
解決方案: 打開開發者選項,打開 USB 調試