天天看點

monkey測試

一.谷歌原生monkey工具

1.簡介

monkey指令是安卓系統自帶指令,運作後需要通過kill程序才能停止。

adb shell ps -A | findstr monkey  # 擷取monkey程序号

adb shell kill 程序ID    # 殺掉程序

2.monkey指令分為4大類

常用選項 、 事件選項 、 限制選項 、 調試選項

常用選項

-v:指定列印資訊的詳細級别,一個 -v增加一個級别 , 預設級别為 0 。

 事件選項

-s:指定産生随機事件種子值,相同的種子值産生相同的事件序列。如: -s 200

--throttle:每個事件結束後的間隔時間——降低系統的壓力(如不指定,系統會盡快的發送事件序列)。如:--throttle 100

--pct-touch:指定觸摸事件的百分比,如:--pct-touch 5% ,

相關的還有以下option:

--pct-motion <percent> (滑動事件)

--pct-trackball <percent> (軌迹球事件) 

--pct-nav <percent> (導航事件 up/down/left/right)

--pct-majornav <percent> (主要導航事件 back key 、 menu key)

--pct-syskeys <percent> (系統按鍵事件 Home 、Back 、startCall 、 endCall 、 volumeControl)

--pct-appswitch <percent> (activity之間的切換)

--pct-anyevent <percent>(任意事件)

 限制選項

-p:指定有效的package(如不指定,則對系統中所有package有效),一個-p 對應一個有效package, 如:-p com.ckt -p com.ckt.asura;

-c:activity必須至少包含一個指定的category,才能被啟動,否則啟動不了;

調試選項

--dbg-no-events:初始化啟動的activity,但是不産生任何事件。

--hprof:指定該項後在事件序列發送前後會立即生成分析報告  —— 一般建議指定該項。

--ignore-crashes:忽略崩潰

--ignore-timeouts:忽略逾時

--ignore-security-exceptions:忽略安全異常

--kill-process-after-error:發生錯誤後直接殺掉程序

--monitor-native-crashes:跟蹤本地方法的崩潰問題

--wait-dbg:知道連接配接了調試器才執行monkey測試。

3.monkey批處理

monkey指令一般做成批處理執行,

adb shell monkey -p com.tal.kaoyan -s 100 --pct-touch 30 --pct-motion 30 --pct-appswitch 10 --pct-rotation 5 --throttle 1000 --ignore-crashes --ignore-timeouts -v-v-v 36000 >d:\kaoyan2.log      

4.複現bug

測試中經常會遇到複現bug,monkey測試如何複現bug

 通過-s 參數後面是上次運作出錯seed值,值存在在上次運作的log :Monkey: seed=100 count=3600   

5.Monkey測試注意事項

注意事項:

1. 測試關閉所有網絡開關(wifi及資料連接配接)

2. 開啟安全設定下的未知來源

3. 手機連接配接電源充電

4. 若有有關于音頻的子產品,請插入耳機避免影響其他同僚

5. 若測試資訊子產品時需要安裝測試工具testwizard.apk,自動生成通話記錄,短信(數量為10)

6. 若測試檔案管理器需要在T卡記憶體放有圖檔/音樂/apk/視訊/txt這類檔案

7. 測試圖庫是需要T卡記憶體放100個圖檔及視訊的,同樣音樂和視訊播放器也需要存放不少于50個片源