文章目錄
工作環境:
adb環境
環境搭建:https://blog.csdn.net/hju22/article/details/88535764
monkey實戰步驟
一、設置手機不休眠
設置手機屏幕永不休眠,防止測試過程中手機鎖屏。
操作步驟:設置>顯示>休眠>從不
二、手機和電腦用usb連接,允許usb調試
三、確認設備已連接
輸入adb devices,列出當前連接的設備
adb devices
四、查看我們要測試的app的包名
有以下幾種情況
1、瞭解電腦上apk的包名
1、進入sdk\builds-tools目錄,即aapt.exe所在的目錄;輸入cmd,回車
2、輸入命令:(可以把apk直接拖過來)
aapt dump badging E:\app-release.apk
3、運行後出現了app包名package
2、瞭解手機上安裝的app的包名
1、打開手機上的app
2、輸入命令
adb shell
dumpsys activity|grep mFocusedActivity
3、運行後出現了包名和入口activity
五、輸入命令
常用monkey命令,可以直接在項目中使用:
adb shell monkey -s 0 -vvv -p com.example.hello --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes 1000 >e:\log1.txt 2>&1
- -s 0 ,指定種子值seed爲0,用來重複相同測試,復現bug。
- -vvv 參數,顯示日誌的詳細信息
- -p com.example.hello ,對特定包施壓
- –throttle 100 ,事件之間的延遲時間是100毫秒,用來適當減緩事件的執行速度
- –ignore-crashes ,忽略崩潰
- –ignore-timeouts ,忽略超時,即忽略ANR(Application No Responding)錯誤
- –ignore-security-exceptions,忽略安全異常(比如證書許可,網路許可)
- –ignore-native-crashes ,忽略本地代碼導致的崩潰
- –monitor-native-crashes ,監聽並報告程序發生崩潰的本地代碼
- 1000 ,執行的事件數
- 將日誌保存在電腦上的這個位置 >e:\log1.txt
- 2>&1,固定寫法,將中間忽略的崩潰、超時、安全異常、本地代碼崩潰都寫入日誌中
六、分析日誌中是否有崩潰和無響應情況
日誌分析:
- 閃退問題:在日誌中搜索 crash
- 程序無響應:在日誌中搜索 ANR(ANR就是Application Not Responding)
- 異常:在日誌中搜索 Exception
- 強制退出:在日誌中搜索 force closed
日誌下載鏈接:https://pan.baidu.com/s/1bzS2k9uSWjm0fUY-pknnLg
提取碼:uz4i
七、如果有異常,復現bug
輸入測試命令的seed值和上次一樣。