money查詢
Monkey介紹
通過Monkey程式模擬使用者觸控螢幕,滑動Trackball,按鍵等操作來對裝置上的程式進行壓力測試,檢測程式錯就的時間會發生異常
Monkey用來做什麼
Monkey主要用於Android的壓力測試,自動的一個壓力測試小工具,主要目的就是為了測試app是否會Crash(崩潰)
Monkey程式介紹
(1) Monkey程式由Android系統自帶,使用Java語言寫成,在Android檔案系統中的存放路徑是: /system/framework/monkey.jar
(2) Monkey.jar程式是由一個名為“monkey”的Shell指令碼來啟動執行,shell指令碼在Android檔案系統中 的存放路徑是:/system/bin/monkey
(3)Monkey 命令啟動方式:
可以通過PC機CMD視窗中執行: adb shell monkey {+命令引數}來進行Monkey測試
在PC上adb shell 進入Android系統,通過執行 monkey {+命令引數} 來進行Monkey 測試
在Android機或者模擬器上直接執行monkey 命令,可以在Android機上安裝Android終端模擬器
Monkey命令
1)執行monkey測試裝置中所有app100次
adb shell monkey 100
2)執行monkey測試裝置中所有app1000次輸出到33.txt
adb shell monkey 1000 >D:\log\33.txt
3)執行monkey測試指定app
adb shell monkey -p 包名 測試次數
例如:
執行monkey測試應用百度10000次
adb shell monkey -p com.baidu.searchbox 10000
4)顯示日誌詳細程度
日誌僅提供啟動提示,測試完成和最終結果的少量資訊
adb shell monkey -p com.baidu.searchbox 1000 -v
日誌較為詳細,包括每個傳送到Activity的事件資訊
adb shell monkey -p com.baidu.searchbox 1000 -v -v
最詳細的日誌,包括測試中選中/未選中的Activity資訊
adb shell monkey -p com.baidu.searchbox 1000 -v -v -v
5)將log資訊輸出到文件中
adb shell monkey -p com.baidu.searchbox 10000 -v-v-v >D:\log\888.txt
6)
忽略崩潰:–ignore-crashes
應用發生崩潰或異常時Monkey會停止執行
設定–ignore(忽略)-crashes(崩潰)將忽略崩潰或異常繼續傳送事件給系統,直到事件計數完成
執行monkey測試10000次忽略異常輸出到44.txt
adb shell monkey --ignore-crashes 10000 >D:\log\44.txt
7)
忽略超時:–ignore-timeouts
應用程式發生任何超時錯誤(如:Application Not responding)Monkey會停止執行
設定 --ignore-timeouts(超時)忽略超時錯誤將繼續傳送事件給系統,直到事件計數完成
adb shell monkey --ignore-timeouts 1000 >D:\log\7979.txt
8)
隨機數:-s
https://blog.csdn.net/u011436666/article/details/53998332[Monkey隨機數種子事件]
隨機數種子,用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的(經常用到bug的復現上)
adb shell monkey -s 26 -v 200 >D:\log\123.txt
adb shell monkey -v -s 26 200 >D:\log\456.txt
9)
時延:–throttle(毫秒)
用於指定操作事件間的時延,單位是毫秒,如果不指定這個引數,monkey會盡可能快的生成和傳送訊息
adb shell monkey -p com.baidu.searchbox --throttle 300 -v 100在這裡插入圖片描述
10)
觸控事件: --pct-touch 佔比數
調整觸控事件百分比(觸控事件是指在螢幕中的一個down-up事件,即在螢幕某處按下並抬起的操作)
執行10個偽隨機使用者事件流,並調整其中觸控事件的百分比為80%
adb shell monkey --pct-touch 80 -v 100 >D:\log\11.txt
11)
手勢事件: --pct-motion 佔比數
調整motion事件百分比(motion事件是由螢幕上某處一個down事件、一系列偽隨機的移動事件和一個up事件組成)
adb shell monkey --pct-motion 70 -v 100 >D:\log\99.txt
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其他型別事件百分比。包括了其他所有的型別事件,如按鍵、其他不常用的裝置上的按鈕等等。
monkey -p com.baidu.searchbox -s 23 --throttle2000 --ignore-crashes --ignore-timeouts -v -v -v 100000>D:/log/log.txt 2>&1 &
-p後面接著的對應的包名,如果是整機測試,就不需要 -p 包名
-s後面是對應的種子數,一般種子數在23,同步測試的結果,一般種子的個數固定為23,和選擇的操作步驟就是同步的。
–ignore-crashes --ignore-timeouts 這裡是在monkey測試的過程中遇到carash(崩潰)或者timeout(超時)的情況時忽略掉,一般不設定時,出現carash或者timeout時,Monkey測試會終止。這裡是防止Monkey測試終止。
-v 指的是Monkey測試時列印log級別。
100000 這裡是指點選的次數,對於單個應用程式這個次數設定在100000次就可以了;如果是整機,一般設定在500000次.D:/log/log.txt測試的log記錄在手機上D:/log/下面的log.txt裡面。
2>&1 固定的寫法,代表的意思是中間忽略的東西的日誌一併輸入到指定的檔案中。
最後單獨的一個"&" 是一旦Monkey測試開始了,之後可以拔掉資料線,不會影響Monkey測試。
測試所有模組 monkey -s 23 --ignore-crashes --ignore-timeouts -v-v -v 100000> /data/local/tmp/log.txt 2>&1 &
測試所有模組忽略崩潰,超時,設定時延200毫秒,23的偽隨機數種子 最詳細的log日誌 測試執行10000次,最後將日誌輸出到test.txt檔案 中,中間忽略的東西也一併輸入到指定的檔案中,可以拔掉資料線,不會影響Monkey測試
adb shell monkey --ignore-crashes --ignore-timeouts --throttle 200 -s 23 -v-v-v 10000 >D:/log/test.txt 2>&1
相關文章
- How to express money in EnglishExpress
- SQL查詢的:子查詢和多表查詢SQL
- 查詢之折半查詢
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- Goodbye, Money 再見,美元Go
- 複雜查詢—子查詢
- 查詢——二分查詢
- 子查詢-表子查詢
- 查詢(1)--靜態查詢
- 查詢(2)--動態查詢
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- 離線查詢與線上查詢
- 【SQL查詢】集合查詢之INTERSECTSQL
- 查詢與排序02,折半查詢排序
- 查詢
- #查詢演算法#【1】簡單查詢:順序、折半查詢演算法
- oracle 精確查詢和模糊查詢Oracle
- 查詢演算法__插值查詢演算法
- pgsql查詢優化之模糊查詢SQL優化
- MySQL - 資料查詢 - 簡單查詢MySql
- Elasticsearch複合查詢——boosting查詢Elasticsearch
- MySQL聯結查詢和子查詢MySql
- select查詢之三:子查詢
- select查詢之一:普通查詢
- [Mysql 查詢語句]——查詢欄位MySql
- Python查詢-二分查詢Python
- group by,having查詢 ”每**“的查詢
- B樹查詢,磁碟查詢資料
- PostgreSQL實時高效搜尋-全文檢索、模糊查詢、正則查詢、相似查詢、ADHOC查詢SQL
- 21億Q綁查詢21億Q綁查詢21億Q綁查詢21億Q綁查詢21億Q綁查詢
- [冷楓推薦]:資料庫操作,內外聯查詢,分組查詢,巢狀查詢,交叉查詢,多表查詢,語句小結。資料庫巢狀
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- Hibernate通常是三種:hql查詢,QBC查詢和QBE查詢:
- Solr複雜查詢一:函式查詢Solr函式
- 查詢演算法__二分查詢演算法
- 查詢演算法__Fibonacci查詢演算法
- Elasticsearch中的Term查詢和全文查詢Elasticsearch