2020-12-23Monkey使用
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事件
鍵盤事件
其他型別事件
相關文章
- laravel使用EasyWeChat 使用Laravel
- 如何使用使用 HAVING 與 ORDER BY?
- winscp使用教程多使用者,winscp使用教程多使用者,教程詳情
- 配置vsftpd匿名使用服務,個人使用者使用以及虛擬使用者使用配置細節!FTP
- TestContainer使用者使用經驗AI
- ImageJ使用教程(一):開始使用
- Laravel passport 多端使用者使用LaravelPassport
- 使用dwebsocket在Django中使用WebsocketWebDjango
- 使用 CSS 追蹤使用者CSS
- RecyclerView使用指南(四)—— 使用ItemDecorationView
- RecyclerView使用指南(一)—— 基本使用View
- mongodb使用者與角色使用MongoDB
- Urllib庫的使用一---基本使用
- Vivado使用技巧(19):使用Vivado Simulator
- 使用者及使用者組管理使用的練習
- jumpserver 使用者,系統使用者和管理使用者 普通使用者和特權使用者 區別Server
- 22. 使用MySQL之使用檢視MySql
- 24. 使用MySQL之使用遊標MySql
- 使用者組和使用者
- 使用 JWT 認證使用者身份JWT
- Docker 使用者操作使用說明Docker
- 使用PyCharm引入需要使用的包PyCharm
- 使用者授權,策略的使用
- 使用jquery和使用框架的區別jQuery框架
- 儘量使用 useReducer,不要使用 useStateuseReducer
- 2、Spring使用+ioc容器配置使用1Spring
- 使用Bootstrap tab頁切換的使用boot
- PyCharm使用技巧(六):Regullar Expressions的使用PyCharmExpress
- 使用普通使用者執行 dockerDocker
- Scrapy框架的使用之Scrapyrt的使用框架
- 在C#中使用OpenCV(使用OpenCVSharp)C#OpenCV
- (四)Linux之使用者管理(使用者和使用者組)Linux
- git使用Git
- StopWatch使用
- 工具使用
- Cursor使用
- Emacs使用Mac
- tmux使用UX