android壓力測試工具monkey詳細介紹

對於一款成熟的app,它不僅在功能上要滿足用戶需求,他還需具備高度的穩定性。也就是說一款app上線之前,需要進行大量的壓力測試,如果這些壓力測試是我們手動去進行的,那麼必然耗費大量的時間。所以我們們來介紹下面這種高效的android壓力測試工具——Monkey

 

Monkey

該工具用於進行壓力測試。 然後開發人員結合monkey 打印的日誌 和系統打印的日誌,結局測試中出現的問題。

通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、 按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常

 

 

作用

主要目的就是爲了測試app 是否會Crash.

 

 

程序介紹

1) Monkey程序由Android系統自帶,使用Java詫言寫成,在Android文件系統中的存放路徑是: /system/framework/monkey.jar;   
2) Monkey.jar程序是由一個名爲“monkey”的Shell腳本來啓動執行,shell腳本在Android文件系統中 的存放路徑是:/system/bin/monkey;  
3)Monkey 命令啓動方式:    
          a)可以通過PC機CMD窗口中執行: adb shell monkey {+命令參數}來進行Monkey測試          

b)在PC上adb shell 進入Android系統,通過執行 monkey {+命令參數} 來進行Monkey 測試          

c )  在Android機或者模擬器上直接執行monkey 命令,可以在Android機上安裝Android終端模擬器  

 

 

侷限性

Monkey雖然可以根據一個指定的命令腳本發送按鍵消息,但其支持條件判斷,也支持讀取待測界 面的信息來執行驗證操作。

 

 

 

操作介紹

首先,找到我們SDK的路徑,下面有個platform-tools文件,我們的adb就在這個位置

 

在控制檯進行操作,進入到這個路徑下

 

 

下面紅色這個就是我們設備的名稱,ls可以查看我們手機裏有哪些包,找出我們要壓力測試的那個包

 

這裏顯示沒有權限,我通過查閱發現有解決方法的,不過需要手機進行root,當然,如果這是你自己的項目,那麼要對哪個包進行測試,你就按照下面流程輸入指定包名就好了

 

 

 

 

常用指令:

-p <允許的包名列表>         

用此參數指定一個或多個包。指定包之後,monkey將只允許系統啓動指定的app。如果丌指定包, monkey將允許系統啓動設備中的所有app。  

指定一個包:adb shell monkey -p 包名 100   

指定多個包:adb shell monkey -p 包名  –p 包名  100  

 

-v        

用亍指定反饋信息級別(信息級別就是日誌的詳細程度),總共分3個級別,分別對應的參數如下 表所示: 

Level 0  :  adb shell monkey -p 包名 -v 100               // 缺省值,僅提供啓動提示、測試完成和最終結果等少量信息   

Level 1  :  adb shell monkey -p 包名 -v  -v 100          // 提供較爲詳細的日誌,包括每個發送到Activity的事件信息

Level 2  :  adb shell monkey -p 包名 -v  -v  -v 100     // 最詳細的日誌,包括了測試中選中/未選中的Activity信息

 

日誌

 


-s(隨機數種子)            

用亍指定僞隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。  示例:

monkey測試1:adb shell monkey -p 包名 –s 10 100                

monkey測試2:adb shell monkey -p 包名 –s 10 100  

 


--throttle <毫秒>            

用亍指定用戶操作(即事件)間的時延,單位是毫秒;如果丌指定這個參數,monkey會儘可能快的 生成和發送消息。 示

例:adb shell monkey -p 包名 --throttle 3000 100   

 

 

 

 

 

 

其他指令

 

--ignore-crashes : 忽略操作是崩潰異常

通常,應用發生崩潰或異常時Monkey會停止運行。如果設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。

adb shell monkey --ignore-crashes -v 1000

--ignore-timeouts : 忽略超時

通常,應用程序發生任何超時錯誤(如“Application Not responding”對話框)Monkey將停止運行,設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。

adb shell monkey --ignore-timeouts -v 1000

--ignore-security-exceptions : 忽略程序發生許可異常

通常,當程序發生許可錯誤(例如啓動一些需要許可的Activity)導致的異常時,Monkey將停止運行。設置此項,Monkey將繼續發送事件給系統,直到事件計數完成。

adb shell monkey --ignore-security-exceptions -v 1000

--help : 列出簡單的用法

adb shell monkey -help

 

發佈了39 篇原創文章 · 獲贊 61 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章