2020-12-23Monkey使用

masen4020發表於2020-12-23

1、monkey作用
Monkey 主要用於Android的穩定性測試,自動的一個壓力測試小工具, 主要目的就是為了測試app 是否會Crash(崩潰)

2、monkey命令
在這裡插入圖片描述

2.1 使用monkey測試手機所有程式(命令詳解)
執行monkey測試100次 針對rom測試

adb shell monkey 100

注意:
這裡的100相當於點選事件,就是說我模擬使用者隨機點選100次
在這裡插入圖片描述

指定包名(也就是指定app)執行monkey測試100次 針對rom測試

adb shell monkey -p 包名 100

顯示日誌詳細程度

-v
-v -v
-v -v -v

詳細程度由低到高,3個v最詳細

示例1:-v
在這裡插入圖片描述
在這裡插入圖片描述

在公司我們我可以將這個日誌輸出為 txt 檔案 ,方便發給開發人員看

示例2:-v -v
在這裡插入圖片描述

示例3:-v -v -v

在這裡插入圖片描述

日誌輸入為txt檔案

輸出日誌只需要在檢視日誌命令後加上 > 和 要存放的路徑 即可

adb shell monkey 100 >路徑

-s 隨機數種子

類似於 復現bug 的場景:
在這裡插入圖片描述

比如說上一次我使用monkey -s 指定他的引數為10 然後測了100次出現了bug,那麼這次我還是引數為10 進行測,就可能會復現上一次的bug

–throttle <毫秒>

作用:每次測試的間隔時間,也就是說我加上這個引數和毫秒,那麼我在測試的時候就有了時間間隔

adb shell monkey -p com.chaozh.iReaderFree --throttle 300 100
在這裡插入圖片描述

表示執行100個偽隨機使用者事件流,事件間隔為300毫秒。

注:一般設定為300毫秒,原因是實際使用者操作的最快300毫秒左右一個動作事件。

–pct-motion

作用:調整motion事件百分比。(motion事件是由螢幕上某處一個down事件、一系列偽隨機的移動事件和一個up事件組成)

表示執行10個偽隨機使用者事件流,並調整其中動作事件的百分比為67%。
在這裡插入圖片描述

Event percentages:

0:–pct-touch//touch
events percentage觸控事件百分比(觸控事件是一個在螢幕單一位置的按下-抬起事件)

1:–pct-motion//motion
events percentage手勢事件百分比(手勢事件是由一個在螢幕某處的按下事件、一系列的偽隨機移動、一個抬起事件組成)即一個滑動操作,但是是直線的,不能拐彎

2:–pct-pinchzoom//pinch
zoom events percentage二指縮放百分比,即智慧機上的放大縮小手勢操作

3:–pct-trackball//trackball 即單純的Move(ACTION_MOVE)
events percentage軌跡球事件百分比(軌跡球事件包括一個或多個隨機移動,有時還伴有點選。軌跡球現在智慧手機上已經沒有了,就是類似手柄的方向鍵一樣)

4:–pct-rotation//screen
rotation events percentage螢幕旋轉百分比,橫屏豎屏

5:–pct-nav//nav 基本導航事件。即來自於方向輸入裝置的上下左右操作。
events percentage”基本”導航事件百分比(導航事件包括上下左右,如方向輸入裝置的輸入)老手機的上下左右鍵,智慧機上沒有

6:–pct-majornav//major 即Navigation Bar的確認,選單,返回鍵等
nav events percentage”主要”導航事件百分比(這些導航事件通常會引發UI的事件,例如5-way pad的中間鍵、回退鍵、選單鍵)

7:–pct-syskeys//system(key)
operations percentage”系統”按鈕事件百分比(這些按鈕一般專供系統使用,如Home, Back, Start Call, End Call,音量控制)

8:–pct-appswitch//app
switch events percentage啟動activity事件百分比。在隨機的間隔裡,Monkey會執行一個startActivity()呼叫,作為最大程度覆蓋包中全部Activity的一種方法

9:–pct-flip//keyboard
flip percentage鍵盤輕彈百分比,如點選輸入框,鍵盤彈起,點選輸入框以外區域,鍵盤收回

10:–pct-anyevent//anyevents 該事件可能包含其他上述事件。
percentage其他型別事件百分比。包括了其他所有的型別事件,如按鍵、其他不常用的裝置上的按鈕等等。

–ignore-crashes

作用:忽略異常

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

–ignore-timeouts(ANR)

作用:忽略超時

adb shell monkey --ignore-timeouts –v 10

2.2 monkey事件種類
觸控事件

手勢事件

二指縮放事件

軌跡事件

螢幕旋轉事件

基本導航事件

主要導航事件

系統按鍵事件

啟動Activity事件

鍵盤事件

其他型別事件

相關文章