1. 啟動eclipse或者android studio開發(fā)工具凹蜈,連接測試手機或者開啟虛擬機。
2. 找到android SDK的安裝路徑芹务,
3. 啟動windows命令行跌捆,CMD,進入SDK所在的文件夾下的platform-tools
4. 在命令行中執(zhí)行monkey -p com.kangjun.miapp -v 500命令叫倍,-p后面跟隨被測試的應(yīng)用程序包名偷卧,包名在AndroidManifest.xml文件中取得,-v后的參數(shù)為設(shè)置點擊次數(shù)吆倦,執(zhí)行后logcat中會有執(zhí)行日志被打印听诸,同時設(shè)備的屏幕也隨著測試動作變化。
測試次數(shù)完成后命令行會顯示finish狀態(tài)蚕泽,期間如果有錯誤晌梨,logcat會打印出異常的日志。
附參考
#monkey --help
?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]
? ? ? ? [--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]
? ? ? ? COUNT
常用參數(shù)解釋:
-p 后面跟要覆蓋測試的包名须妻∽序颍可以有多個-p,每個-p后跟一個包名
-s 后面跟整數(shù)璧南,相同的seed值表示產(chǎn)生的隨機事件流
-v 可以有多個掌逛,個數(shù)越多,產(chǎn)生的log越詳細司倚,eg:2個時豆混,可看到activity加載的時間
--gnore-crashes 應(yīng)用crash時篓像,不停止monkey執(zhí)行
--pct* 調(diào)整各類事件所占的百分比,不常用
--throttle ?后面跟毫秒數(shù)皿伺,表示每個隨機事件中間的時間間隔
COUNT ?必選參數(shù)员辩,表示運行隨機事件的個數(shù)
舉例:monkey -p com.xx.xx -v --throttle 300 ?9000
ps
Monkey監(jiān)控并特殊處理的3個事件:
1、如果指定測試包時鸵鸥,限制測試在指定的包中奠滑;
2、如果應(yīng)用crash或存在未捕獲的異常妒穴,monkey停止并報告錯誤宋税;
3、如果應(yīng)用產(chǎn)生ANR(application not responding)錯誤讼油,monkey停止并報告錯誤杰赛。
產(chǎn)生ANR的兩個條件:
1、線程響應(yīng)超過5s矮台;
2乏屯、HandleMessage回調(diào)函數(shù)超過10s