monkey的簡單使用

一、環境搭建

下載jdk和sdk,配置環境和環境變量。

二、monkey的使用

1、windows+r 輸入cmd進入dos命令行;

2、輸入 adb shell pm list packages -3 查看手機上所有的第三方安裝包;

3、簡單的執行一個命令:adb shell monkey --throttle 1500 --pct-motion 10 --pct-majornav 10 -p 包名(com.baidu.xxx) -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 >F:\monkey_log\xx_monkey_log.txt

上面命令的意思是像這個app發送10000個隨機事件,每次事件間隔1.5秒,其中滑動事件佔百分之十,主要導航事件佔百分之十,產生時間的序列的種子值爲500,監視的級別爲3,輸出的log在F:\monkey_log\xx_monkey_log.txt

三、分析

1、ANR問題(程序無響應):在日誌中搜索“ANR"(application no response)

2、閃退問題:在日誌中搜索"crash"

3、異常:搜索"exception"

4、強制退出:搜索"force closed"

四、手動進行monkey進程的停止

1、adb shell      (進入shell命令)

2、ps|grep monkey     (找到monkey的進程編號)

3、kill xxxx     (殺掉進程)

五、小結

1、-p參數:表示指定測試的程序(空格後面跟安裝包名字,拿剛纔的第三方安裝包一個個試)

      -v參數:表示查看monkey執行過程的信息(日誌級別)(-v 越多越詳細,最多三個)

      Event percentages(事件百分比):

      0:觸摸事件百分比,參數--pct-touch

      1:滑動事件百分比,參數--pct-motion

      2:縮放事件百分比,參數--pct-pinchzoom

      3:軌跡球事件百分比,參數--pct-trackball

      4:屏幕旋轉事件百分比,參數--pct-rotation

      5:暫時不知道這個是什麼

      6:基本導航事件百分比,參數--pct-nav

      7:主要導航事件百分比,參數--pct-majornav

      8:系統事件百分比,參數--pct-syskeys

      9:Activity啓動事件百分比,參數--pct-appswitch

      10:鍵盤翻轉事件百分比,參數--pct-flip

      11:其他事件百分比,參數--pct-anyevent

2、儘管monkey產生是僞隨機事件流,但是我們希望我們的操作有一定的規律性,即按鍵、觸屏等各類事件操作有所偏重。

      eg:(1).對文本框操作,需要更多的按鍵操作。

              (2).玩遊戲,需要更多的點擊和滑動操作。

3、--throttle  設定兩個事件之間一個固定延遲,可以減緩monkey的執行速度。如果不指定,monkey將不會被延遲,事件將盡可      能快地生成和發送消息。單位:毫秒

      eg:      adb shell monkey  --throttle  3000  -p com.tencent.news  100    

      向騰訊新聞發送1000次隨機事件,每次事件間隔爲3秒。

4、--pct-touch  (空格後加數字)設定觸屏事件生成的百分比。觸屏事件是一個有手指按下,擡起事件的手勢。

      eg:      adb shell monkey   --throttle  3000   --pct-touch  50  -p  com.tencent.news  100 

      向騰訊新聞發送1000次隨機事件,每次事件間隔爲3秒。其中設定觸屏的事件佔比爲50%。

5、--pct-motion  設定滑動事件生成的百分比。滑動事件是一個先在某一個位置手指按下,滑動一段距離後再擡起手指的手勢。

      eg:       adb shell monkey   --throttle  3000 --pct-motion  50  -p  com.tencent.news  100

      向騰訊新聞發送1000次隨機事件,每次事件間隔爲3秒。其中設定滑動的事件佔比爲50%。

6、--pct-trackball  設定軌跡球事件生成的百分比。軌跡球事件是包含一系列隨機移動和單擊事件的事件

      eg:      adb shell monkey --throttle  3000 --pct-trackball  50  -p  com.tencent.news  100 

      向騰訊新聞發送1000次隨機事件,每次事件間隔爲3秒。其中設定軌跡球的事件佔比爲50%。

7、--pct-nav  設定基本導航事件生成的百分比。基本導航事件是模擬方向性在設備上輸入向上、向下、向左、向右的事件。

      eg:      adb shell monkey --throttle  3000 --pct-nav  40  -p  com.tencent.news  100 

      向騰訊新聞發送1000次隨機事件,每次事件間隔爲3秒。其中設定基本導航事件的佔比爲40%。

8、--pct-majornav  設定主要導航事件生成的百分比。主要導航事件通常會導致UI產生回饋信息,如單擊Back鍵、Home鍵、Menu鍵等、

      eg:     adb shell monkey  --throttle  3000   --pct-majornav  40  -p  com.tencent.news  100 

      向騰訊新聞發送1000次隨機事件,每次事件間隔爲3秒。其中設定主要導航事件的佔比爲40%。

9、--hprof

      指定了該參數,Monkey會在發送事件序列的前、後,生成性能分析報告。通常會在data/misc目錄下生成一個5MB左右大小的文件

10、--ignore-crashes

      通常情況下,monkey會在測試應用程序崩潰或者發生異常後停止運行,若指定了該參數,則monkey將會在產生異常後,繼續向系統發送事件,直到指定事件全部運行完畢。

11、--ignore-timeouts

      通常情況下,當應用程序發生任何超時錯誤(application  not  responding)時,monkey將停止運行。若指定了該參數,則monkey將會在產生錯誤信息後,繼續向系統發送事件,直到指定事件全部運行完畢

 

12、--ignore-security-exceptions    通常情況下,指定應用程序發生許可錯誤時(如證書許可,網絡許可等),monkey將停止運行。若指定了該參數,即使應用程序發生許可錯誤,monkey會繼續向系統發送事件,直到指定事件全部運行完畢。

      eg:      adb shell monkey  --throttle  3000 --pct-trackball  50  -p  com.tencent.news  --ignore-security-exceptions  100

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