1. 程式人生 > >手機APP測試之monkey

手機APP測試之monkey

Monkey測試是一種為了測試軟體穩定性、健壯性的快速有效的方法,Monkey程式由Android系統自帶,使用Java語言寫成。本此由於公司APP產品所需,用monkey進行穩定性測試,下面將本次使用monkey測試做個小結。

1.Monkey測試的特點

1)測試的物件僅為應用程式包,有一定的侷限性。

2)Monkey測試使用的事件流資料流是隨機的,不能進行自定義。

3)可對MonkeyTest的物件,事件數量,型別(觸控、縮放螢幕、點選、拖移等操作型別),頻率等進行設定。

2.Monkey測試的常用命令

$ adb connect 127.0.0.1:62007 #連結模擬器裝置

$ adb devices #檢視連結裝置

$ adb shell ps #檢視全部在執行中的程序

$ adb shell #進入shell操作命令列

$ cd /system/bin #進入shell 命令列後,擦看bin目錄下的檔案

 

如下面的一個測試語句:

$adb shell monkey -p com.tal.kaoyan    #monkey 測試 :-p :包名

--pct-touch 40 --pct-motion 25                # -pct-touch :指定觸控事件的百分比,此處佔40%  --pct -motion指定滑動事件的百分比,此處佔25% ;
--pct-appswitch 10                                  # -pct-appswitch :指定activity切換事件的百分比,此處佔10%
--pct-rotation 5                                        # -pct-rotatiion :指定切換橫豎屏事件的百分比,此處佔5%
-s 1666 --throttle 400                              #-s 指定產生隨機事件種子值,相同的種子值產生相同的事件序列
--ignore-crashes                                     #忽略崩潰
--ignore-timeouts                                    #忽略超時
-v -v 200                                                 # 日誌級別:二級,200指事件流的數目

3. monkey各引數詳解:

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

--help:列印幫助資訊

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

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

--pct-touch <percent>:指定觸控事件的百分比,如:--pct-touch 5%

--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測試。