Android常見的錯誤類型有兩種
1.ANR類型
1)在5秒內沒有響應輸入的事件(例如,按鍵按下,屏幕觸摸)
2)BroadcastReceiver在10秒內沒有執行完畢
2.Crash類型
1)異常停止
2)異常退出
Monkey 調試參數
--kill-process-after-error 猶豫一個錯誤而停止時,出錯的應用程序將繼續處於運行狀態
--wait-dbg 啟動monkey后,先中斷其運行,等待調試器附加上來
命令演示
adb shell monkey -p com.dabai.app.im --pct-majornav 100 --ignore-crashes --ignore-timeouts --throttle 200 -v -v 100 (忽略anr跟crash錯誤類型,跑完所有的次數)
Monkey 黑白名單
黑名單:不測試的應用
白名單:只測試這部分應用(跟上一節說的 -p 的作用一樣)但是如果-p的程序過多就需要用到白名單了
注意的是,黑名單跟白名單只能設置一個,不能同時使用。
參數
--pkg-blacklist-file 后面跟的是文件的路徑
--pkg-whitelist-file 后面跟的是文件的路徑
路徑保存在 /data/local/tmp/
命令演示
測試整機應用
首先找出整機的應用有哪些
adb shell pm list packages > d:\pkg.txt
把整機應用生成到D盤,命名為pkg的txt文檔,執行完成之后可以在pc端查看
導出的內容就是上一節提到過的應用包,如下圖所示
如果說要將里面的應用添加到黑名單當中,不去執行這些應用,那么就新建txt文檔,把不需要執行的應用apk包名都添加進去
小七把下面的幾個不需要執行的應用保存在D盤,命名為 blacklist.txt
然后在cmd命令中 把這個文件push進來
adb push d:\blacklist.txt /data/local/tmp/ 如下圖就push成功
然后現在測試整機的話
adb shell monkey -- pkg-blacklist-file /data/local/tmp/blacklist.txt --throttle 200 300
這個命令的意思就是 不跑黑名單里面的應用,延遲200毫秒 執行300次
下面來跑白名單的應用
首先新建txt文檔把需要跑的應用 保存進來,命名為whitelist.txt ,同樣是用cmd命令把文件push到手機上
adb push d:\whitelist.txt /data/local/tmp/
然后現在測試整機的話
adb shell monkey -- pkg-whitelist-file /data/local/tmp/whitelist.txt --throttle 200 300
這個命令的意思就是 只跑白名單里面的應用,延遲200毫秒 執行300次