1. 程式人生 > >monkey的基本定義及基本使用(菜鳥學習中)

monkey的基本定義及基本使用(菜鳥學習中)

一.monkey的定義

 1.(轉自 https://blog.csdn.net/beyond_f/article/details/78543070 )

   Monkey程式由Android系統自帶,使用Java語言寫成,在Android檔案系統中的存放路徑是:/system/framework/monkey.jar;
   Monkey.jar程式是由一個名為“monkey”的Shell指令碼來啟動執行,shell指令碼在Android檔案系統中的存放路徑是:/system/bin/         monkey;
   通過在CMD視窗中執行: adb shell monkey{+命令引數}來進行Monkey測試。

  2.Monkey是Android的SDK中附帶的一個命令列工具

   它向系統傳送偽隨機的使用者事件流(如按鍵輸入、觸控式螢幕輸入、手勢輸入等),實現對正在開發的應用程式進行壓力測試。

二、 Monkey的特徵(此段為轉載https://www.cnblogs.com/yyangblog/archive/2011/03/10/1980068.html

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

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

3、 可對MonkeyTest的物件,事件數量,型別,頻率等進行設定。

三.、monkey基本使用

前提:

pc端已經安裝adb命令(只執行一個包名可以不進行root)

主題:

1.手機連線電腦

2.在pc端輸入adb devices

List of devices attached

(若不顯示裝置資訊:我的電腦右鍵-裝置管理器-右側Android phone-右鍵選擇屬性-詳細資訊-選擇硬體id-記錄VID值-進入到C:\Documents and Settings\(你的使用者名稱)下。進去找到adb_usb.ini檔案-把你的VID值寫進去如下圖:然後重新連線輸入命令就可以了)

3.檢視包名list

adb shell pm list packages(可看到包名如下)

(若你只有apk,不知道包名。還有一種方法:aapt dump badging[+apk] 也會得到包名如下:)

(若不確定包是否已安裝,可以用adb shell pm list packages [options] <INTENT> 來進行確認,它的含義是列舉出所有包含<INTENT>的package。    e.g. adb shell pm list packages com.hiveview.content)

4.選擇你需要測試的包名(例如com.ktcp.tvvideo)輸入簡單命令如下:(部分日誌如下:)

  adb shell monkey -p 包名 [引數] -v (-v -v) 執行次數 >匯出log檔案   例:

adb shell monkey -p com.ktcp.tvvideo -v 10000 > C:\Users\Administrator\qa.txt

四、引數解釋

1.-p:指的是package。

2.-s :指定產生隨機事件種子值,相同的seed值產生相同的事件序列。(通俗的說:上圖中第一行的seed值為500,有時使用monkey測試會出現崩潰,輸入相同的seed值再進行測試,可以對崩潰的測試進行復現,方便找到bug原因)

    adb shell monkey -p 包名 -s (seed) (-s 500  --ignore-crashes --ignore-timeouts)-v (envent-count)> aa.txt

     如:adb shell monkey -p com.ktcp.tvvideo -s 500 -v 10 >aa.txt //重複(seed值要相同)第一次出現崩潰的操作

3.-v:作用:命令列上的每一個-v都將增加反饋資訊的詳細級別。
    Level0(預設),除了啟動、測試完成和最終結果外只提供較少的資訊。
    Level1,提供了較為詳細的測試資訊,如逐個傳送到Activity的事件資訊。
    Level2,提供了更多的設定資訊,如測試中選中或未選中的Activity資訊。

4.10000:指的是執行10000次事件

解釋:com.ktcp.tvvideo 產生時間序列的種子值:500 忽略程式崩潰 、 忽略超時 , 產生 10000個事件 。

具體引數解釋:(轉http://www.cnblogs.com/biang/p/5309040.html

完整例項:adb shell monkey -p com.zld.zld_face_rec_app --throttle 100 --pct-touch 70 --pct-motion 5 --pct-nav 0 --pct-trackball 0 --pct-majornav 5 --ignore-crashes --ignore-timeouts --pct-appswitch 10 --pct-syskeys 5 -v-v-v 100 >./monkey_log.txt