1.使用monkey測試手機所有程式
adb shell monkey 10000 執行monkey測試10000次 針對rom測試或者
他會自己在模拟器操作

2.将monkey日志列印在本地666.txt
adb shell monkey 10000 >D:/666.txt
3.-p <允許的包名清單>
adb shell monkey -p com.example.login 100
用此參數指定一個或多個包。指定包之後,monkey将隻允許系統啟動指定的app。如果不指定包, monkey将允許系統啟動裝置中的所有app。
指定一個包
adb shell monkey -p com.example.login 100
adb shell monkey -p com.example.login 100 + 日志列印的路徑
4.随機種子數
用亍指定僞随機數生成器的seed值,如果seed(-s)相同,則兩次Monkey測試所産生的事件序列也相同的。 示例:
monkey測試1:adb shell monkey -s 10 -v 200 >D:\logcat\jjj.txt
monkey測試2:adb shell monkey -s 10 -v 200 >D:\logcat\xxx.txt
5.啟動一個包名的應用
在一些講解指令行時,隻講到單APP的調試,但是monkey具備同時對多裝置進行調試的能力,隻需要增加多個 -p 包名字段就可以實作
adb shell monkey -p com.miui.calculator -p com.android.thememanager 1000
6.v : 記錄檔記錄
指令行不同個數的-v會有不同的效果
-v:Level 0(預設值)除 啟動提示、測試完成和最終結果之外,提供較少資訊。
-v -v :Level 1提供較為詳細的測試資訊,如逐個發送到Activity的 事件。
-v -v -v :Level 2提供更加詳細的設定資訊,如測試中被選中的或未被選中的Activity。
adb shell monkey -p com.miui.calculator -v -v -v 1000
7.-s 僞随機數生成器的seed值
測試為了人員能夠重制測試到的bug問題,需要能夠對Monkey的随機生成事件有重制能力,monkey允許對随機事件的seed值做設定,當兩次seed值一樣,整個測試效果将會産生相同的事件序列
adb shell monkey -p com.miui.calculator -s 12345 -v 1000
8.–ignore-crashes 忽略崩潰/–ignore-timeouts 忽略逾時/–ignore-security-exceptions 忽略安全異常
一般情況下,APP在操作過程中會存在崩潰、逾時、異常等情況,按照前面所提到的,這會導緻monkey直接停止測試。如果想要忽略掉這些情況,直接配置忽略設定就可以了。ps:這裡的逾時并不是網絡逾時,而是相應逾時導緻的ANR。
adb shell monkey
-p com.miui.calculator
--ignore-crashes --ignore-timeouts --ignore-security-exceptions
-v 1000
9.–throttle : 事件之間加入延時操作
在某些不需要頻率過快,或需要定頻率進行互動時,可以采用–throttle來做事件之間的延時操作。
·adb shell monkey -p com.miui.calculator --throttle 500 -v 1000
10指定Monkey事件
在Monkey中,雖然輸入的事件是随機産生的,但是可以指定輸入事件類型的百分比,讓其控制在我們需要的範圍内。
在Monkey中,可以設定的事件類型有:
* --pct-touch <percent>:指定觸摸事件的百分比。
* --pct-motion <percent>:指定滑動事件的百分比。
* --pct-trackball <percent>:指定軌迹球事件的百分比。
* --pct-nav <percent>:指定導航事件中,up、down、left、right等事件的百分比。
* --pct-majornav <percent>:指定導航事件中,back、menu等事件的百分比。
* --pct-syskeys <percent>:指定系統按鍵的百分比,包括HOME、Back、音量等。
* --pct-appswitch <percent>:指定Activity之間切換的比例。
* --pct-anyevent <percent>:指定任意事件的百分比。
* usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]//調試的應用包名
[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]//測試對應的categrory
[--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] ...]//設定随機數生成器的seed值
[--throttle MILLISEC] [--randomize-throttle]//延時操作
[--profile-wait MILLISEC]
[--device-sleep-time MILLISEC]
[--randomize-script]
[--script-log]
[--bugreport]
[--periodic-bugreport]
COUNT
11.如何關閉monkey
monkey在運作過程中就算PC拔掉USB資料線,也會繼續進行,但是在某些情況下,将我們需要monkey關掉。這需要強制将正在運作monkey。
首先。使用
adb shell
ps | grep monkey
kill pid(前面會輸出)