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] 也會得到包名如下:)

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值爲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.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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章