1.有adb環(huán)境
2.手機打開開發(fā)者選項usb調(diào)試患整,連接數(shù)據(jù)線,使用adb devices查看設備
3.使用adb install xx.apk 安裝應用,打開應用彤断,使用adb shell dumpsys window | findstr mCurrentFocus查看包名怕品,adb logcat | findstr START 打開應用妇垢,可以看到包名和當前頁名
monkey命令解析
-p 包名 用以指定包名,多個包肉康,使用多個-p 包名 來指定
-v 日志級別闯估,1個表示0級,只記錄啟動 測試完成 測試結(jié)果等信息迎罗,2個表示1級 進一步記錄逐個發(fā)送到Activity的事件睬愤,3個表示2級,進一步記錄測試中被選中的或未被選中的Activity
-s
在每次執(zhí)行完Monkey命令之后纹安,從輸出里可以看到當前的seed值尤辱,只要通過-s參數(shù)后指定相同的seed,就可以重復剛才的操作厢岂。
--throttle<毫秒>
事件之間加入延時操作光督,一般業(yè)內(nèi)標準是每秒操作2-3次。即:--throttle 200到 --throttle 300
--ignore-crashes
忽略程序崩潰塔粒,對于重新執(zhí)行的 Monkey 命令-s參數(shù)設置的隨機數(shù)seed值將不會生效结借。
--ignore-timeouts
忽略程序超時∽洳纾【這里的超時并不是網(wǎng)絡超時或者接口返回超時船老,而是程序相應超時導致的ANR】
--ignore-security-exceptions
用于指定當應用程序發(fā)生許可錯誤時(如證書許可,網(wǎng)絡許可等)圃酵,Monkey是否停止運行柳畔。
--kill-process-after-error
應用程序僅是靜止在發(fā)生錯誤時的狀態(tài),系統(tǒng)并不會結(jié)束該應用程序的進程郭赐。
--monitor-native-crashes
用于指定是否監(jiān)視并報告應用程序發(fā)生崩潰的本地代碼薪韩。
--pct-{事件類別}{事件類別百分比}
雖然Monkey測試是隨機事件,但是我們可以指定事件的類型》荩【注意】:①所有指定事件的數(shù)值加起來不能超過100罗捎。②不做任何指定時,默認為--pct-anyevent <percent> 類型拉盾,百分比為百分之百桨菜,也就是純隨機事件。③如果通過其他的參數(shù)配置了之后捉偏,如果相加的百分比不為百分百雷激,余下的百分比部分也會生成隨機事件。
--pct-touch <percent>:指定觸摸事件的百分比告私。
--pct-motion <percent>:指定滑動事件的百分比屎暇。
--pct-trackball <percent>:指定軌跡球事件的百分比。
--pct-nav <percent>:指定導航事件中驻粟,up根悼、down、left蜀撑、right等事件的百分比挤巡。
--pct-majornav <percent>:指定導航事件中,back酷麦、menu等事件的百分比矿卑。
--pct-syskeys <percent>:指定系統(tǒng)按鍵的百分比,包括HOME沃饶、Back母廷、音量等。
--pct-appswitch <percent>:指定Activity之間切換的比例糊肤。
--pct-anyevent <percent>:指定任意事件的百分比琴昆。
--hprof
指定該項后在事件序列發(fā)送前后會立即生成分析報告? —— 一般建議指定該項
①--dbg-no-events:初始化啟動的activity,但是不產(chǎn)生任何事件馆揉。
⑧--wait-dbg:知道連接了調(diào)試器才執(zhí)行monkey測試业舍。
adb shell monkey -help 查看Monkey測試的其他命令行
日志輸出
adb shell monkey -p 包名 -v 300 >e:\text.txt 后面內(nèi)容會被覆蓋
adb shell monkey -p 包名 -v 300 >> e:\text.txt 后面內(nèi)容追加輸出
退出monkey測試
adb reboot 重啟手機
查找monkey進程adb shell ps | grep monkey(windows下用findstr代替grep) 通過adb shell kill 進程id 殺死進程
再次查看adb shell ps | grep monkey進程是否已經(jīng)不在
測試結(jié)果分析
錯誤重現(xiàn),找到出錯的地方升酣,查看往前的一些事件舷暮,手動執(zhí)行該事件
如果手動無法復現(xiàn),使用seed值重現(xiàn)
在log中通過關鍵字查詢:當Monkey命令執(zhí)行過程中遇到錯誤時噩茄,會輸出對應異常信息下面,關鍵字查詢:應用程序無響應(ANR)、崩潰(CRASH)巢墅、其他問題(Exception)伍玖、“Force Close”
參考
如何讓adb在指定頁面執(zhí)行
1.可在執(zhí)行monkey命令之前,先執(zhí)行禁用通知欄的命令
adb shell settings put global policy_control immersive.full=*
解禁命令:adb shell settings put global policy_control null
2.設置白名單頁
具體參考:https://blog.csdn.net/joey_2018_/article/details/88607549