monkey自動化、隨機測試是Android系統自帶的測試工具,只需要通過adb工具連接手機終端,輸入簡單的命令,就可以做一些隨機測試。
下面梳理下之前做monkey測試過程中用到的一些指令,做總結和記錄。
#啓動monkey方式
adb shell -> monkey [options]
adb shell monkey [options]
#kill monkey進程
adb shell ps | grep monkey
adb shell kill pid
#簡單的monkey命令,10 表示隨機事件
adb shell monkey -v 10
#常規的穩定性測試,–pct-xxx參數限制monkey執行的事件類型和佔比
adb shell monkey
-p com.hytera //應用的包名,monkey會通過包名來找到應用,啓動activity執行monkey測試;
–pct-touch 40 //觸摸事件佔比40%
–pct-motion 25 //手勢事件佔比25%
–pct-appswitch 10 //Activity切換事件佔比10%
–pct-rotation 5 //將橫豎屏切換事件調整到5%
–pct-pinchzoom 5//將雙指縮放調整佔比到5%
-s 12358 //指定命令執行的seed值,每個值對應的事件流是唯一的,如果需要復現,這個值就必須一致,才能完全模擬相同的事件流。
–throttle 400 //控制monkey每個操作之間的時間間隔,固定延遲400ms
–ignore-crashes //日誌中記錄crash但是monkey測試繼續
–ignore-timeouts //日誌記錄anr,繼續執行monkey測試
-v 指定log級別,默認級別爲level 0 ,日誌級別?日誌級別程度越高,詳細程度越高。爲了方便問題定位,一般級別設置爲level 2 -v-v-v
500000 //隨機事件數
-hprof 查看內存泄漏
dumpsys
#查看應用包名的幾種方式
1. adb shell pm list package
2. apk源碼下androidmanifest.xml
3. aapt命令查看
4. adb logcat 抓取當前app包名
#monkey自定義腳本編寫模板,將腳本放在手機中;文件格式沒有要求
-f scriptfile
eg:
adb push monkey.sh /sdcard/data/
adb shell monkey -f /sdcard/data/monkey.sh -v 1 // 1表示執行1次,這裏可以做一些修改。
#自定義腳本是通過獲取點擊事件的座標信息來進行的,獲取座標信息:打開開發人員選項,打開顯示指針位置
#monkey測試過程中可以另起一個cmd窗口做一些輔助測試
獲取logcat日誌信息
adb shell logcat -v time > log.txt獲取內存信息
adb shell dumpsys meminfo <進程名>獲取CPU消耗信息
adb shell top -n 1 | find “進程名”獲取電量信息
adb shell dumpsys battery獲取GPU信息
adb shell dumpsys gfxinfo <進程名>獲取流量信息
adb shell cat /proc/uid_stat/<被測應用的uid>/tcp_rcv查看被測應用的進程id
adb shell ps | grep <被測應用的包名>查看被測應用的用戶id
adb shell cat /proc/$pid/status切換wifi狀態
adb shell am獲取當前的網絡狀態
adb shell ifconfig wlan0
——保存monkey日誌的幾種方式————-
1.保存到PC中
adb shell monkey [option] > path
2.保存到手機中
adb shell -> monkey [option] > /mnt/sdcard/filename
3.運行日誌和異常日誌分別保存
monkey [options] 1> path1 2> path2
——————-待解決問題————————
#bat腳本使用
#monkey出現問題時及時截圖保存
#monkey如何獲取到WiFi的SSID
#monkey測試過程中隨機斷網解決方法