adb 安卓monkey測試以及log日誌分析
1.monkey的簡單介紹
Monkey測試是Android app自動化測試的一種手段,Monkey測試本身非常簡單,就是模擬使用者的按鍵輸入,觸控式螢幕輸入等,看裝置是否出異常。
當Monkey程式在模擬器或裝置執行的時候,如果使用者出發了比如點選,觸控,手勢或一些系統級別的事件的時候,它就會產生隨機事件,所以可以用Monkey用隨機重複的方法去測試app.
一般情況下單個app monkey 模擬測試10萬次足矣。
2.以下是app monkey測試的詳細步驟
1. 先進入cmd介面,輸入adb devices,檢視是否正常連線。
2. 輸入adb logcat | findstr START 監控app,開啟你要測試的app,cmd檢視app的包名。cmp=右邊的就是app的包名。
3. 輸入adb logcat -c 先清除下logcat日誌資訊
4. 輸入adb logcat -v time >F:\logcat.log
5. 輸入adb shell monkey -p +app包名 -v 10000 >F:\monkey.log
3通過adb命令做迴歸測試
當開發修改問題後,需要做迴歸測試驗證是否修改ok,此時測試人員需要使用上一次跑的monkey測試中的seed值做迴歸測試。
adb shell monkey -p +包名 -s +seed值 -v 10000
比如
adb shell monkey -p com.shanjian.originaldesign -s 1536629919450 -v10000
4.命令解析
-v 較少的日誌資訊
-v -v 較為豐富的日誌資訊
-v -v -v 最高級別的日誌資訊
5.monkey日誌分析
當monkey測試時出現問題,此時我們需要分析定位問題,我們需要分析monkey日誌
Monkey測試出現的異常的原因:
一般是兩種原因導致的,一個是crash 程式崩潰,導致crash原因如下
a)、程式存在空指標
b)、cpu不足
c)、記憶體不足
另一種是ANR 程式無響應,導致anr無響應原因如下:
a)、執行緒阻塞
b)、cpu不足
c)、記憶體不足
查詢分析原因:
1. 當monkey測試出現異常終止,請開啟logcat日誌搜尋關鍵字‘anrin’,如果存在該關鍵字,說明app出現了ANR異常,我們需要把/data/anr目錄下的trace.txt檔案取下來。
2. 取下來trace.txt檔案後,將出現問題的程序號對應的日誌發給軟體工程師定位,如果在logcat日誌裡沒有搜尋到’anrin’關鍵字,就搜尋’nullpointer’異常關鍵字的上下日誌,發給開發定位
3. 當出現ANR後,需要匯出,步驟如下:
1. 輸入adb shell
2. 輸入cd /data/anr/
3. 輸入ls
4. adb pull /data/anr d:\trace.txt
5. 在logcat將出現anr問題的程序號複製,然後在trace.txt檔案裡按ctrl+F 查詢,貼上程序號,查詢對應的問題