久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Android SDK命令行工具M(jìn)onkey參數(shù)及使用解析

瀏覽:111日期:2022-09-22 08:38:20

什么是Monkey?

Monkey是Android SDK提供的一個(gè)命令行工具,可以簡單方便的發(fā)送偽隨機(jī)的用戶事件流,對Android APP做壓力(穩(wěn)定性)測試。主要是為了測試app是否存在無響應(yīng)和崩潰的情況。

Monkey的使用:

1、進(jìn)入adb shell 環(huán)境

在windows環(huán)境中,進(jìn)入DOS界面,在界面中,輸入adb shell即可進(jìn)入adb shell環(huán)境

(注意:adb shell服務(wù)使用的5037的端口,如果此端口被其他進(jìn)程占用時(shí),將不能正常啟動adb shell,需關(guān)閉占用該端口的進(jìn)程,重新啟動adb shell)

2、查看包名

adb shell pm list packages (-f:所有應(yīng)用的包名,-3:非系統(tǒng)安裝的包名)

需要控制monkey執(zhí)行的時(shí)間,可以通過設(shè)置執(zhí)行時(shí)長/事件發(fā)送延時(shí),計(jì)算出需要執(zhí)行的次數(shù)。

如:想要monkey運(yùn)行24小時(shí),每100毫秒發(fā)送一個(gè)事件。24*60*60*1000/100=864000(次)

adb shell monkey -p *** -v -v -v --ignore-crashes --ignore-timeoutss --throttle 100 864000 >D:monkey.log

表示:此次monkey將會運(yùn)行24小時(shí)

Monkey命令參數(shù)說明:

monkey的命令參數(shù)分為:

基礎(chǔ)參數(shù):-v 、-s 、-p 、--throttle等

調(diào)試選項(xiàng):--ignore-crashes等

事件類型:--pct-touch等

(一)基礎(chǔ)參數(shù)

1、最簡單的monkey命令(monkey 100)

表示:在設(shè)備上,針對整個(gè)系統(tǒng)發(fā)送100個(gè)偽隨機(jī)事件。

2、-v參數(shù)

用于指定反饋信息級別(信息級別就是日志的詳細(xì)程度)總共分為3級,默認(rèn)為-v(對應(yīng):level0)

-v:只提供啟動提示、測試完成提示和最終結(jié)果等少量信息。

-v -v:較為詳細(xì)的日志,包括每個(gè)發(fā)送到activity的時(shí)間信息。

-v -v -v:最詳細(xì)的日志,包括測試中選中/未選中的activity信息。

注意:在monkey測試完成時(shí),最后一定會有一個(gè):monkey finished標(biāo)識。

3、-p參數(shù)

在我們測試時(shí),是針對具體的app進(jìn)行測試的,所以在使用monkey測試時(shí),我們需要提供具體的app包名給monkey,此時(shí)就需要用到參數(shù)-p。在-p后跟隨app包名。

在測試時(shí),可以不指定包名,此時(shí)monkey會在測試設(shè)備上隨機(jī)啟動app進(jìn)行操作;如果只需要測試一個(gè)app,使用一個(gè)-p即可;如果有多個(gè)app同時(shí)測試,可以直接使用-p 包名1 -p 包名2指定具體要測試的app。

4、-s參數(shù)

種子值(seed),因?yàn)閙onkey是發(fā)送的是偽隨機(jī)的事件流,但是如果兩次seed值相同,那兩次monkey測試所產(chǎn)生的事件序列也相同。(所以一般在測試時(shí)要記錄seed值,以防出現(xiàn)無響應(yīng)和crash,不容易驗(yàn)證。)

注意:-s需要跟在包名后,次數(shù)前

5、--throttle參數(shù)

設(shè)置執(zhí)行操作的延遲時(shí)間(毫秒)--是指兩個(gè)事件之間的間隔,如果沒有指定此參數(shù),會盡可能快的生成和發(fā)送事件。

(二)調(diào)試選項(xiàng)

1、--ignore-crashes

用于指定當(dāng)應(yīng)用程序崩潰時(shí),Monkey是否停止運(yùn)行。如果使用此參數(shù),即使應(yīng)用程序崩潰,monkey依然會發(fā)送事件,直到事件計(jì)數(shù)完成。

2、---ignore-timeouts

用于指定當(dāng)應(yīng)用程序發(fā)生ANR(Application No Responding)錯(cuò)誤時(shí),Monkey是否停止運(yùn)行。如果使用此參數(shù),即使應(yīng)用程序發(fā)生ANR錯(cuò)誤,Monkey依然會發(fā)送事件,直到事件計(jì)數(shù)完成。

3、--ignore-security-exceptionss

用于指定當(dāng)應(yīng)用程序發(fā)生許可錯(cuò)誤時(shí)(如證書許可,網(wǎng)絡(luò)許可等),Monkey是否停止運(yùn)行。如果使用此參數(shù),即使應(yīng)用程序發(fā)生許可錯(cuò)誤,Monkey依然會發(fā)送事件,直到事件計(jì)數(shù)完成。

4、--kill-process-after-error

用于指定當(dāng)應(yīng)用程序發(fā)生錯(cuò)誤時(shí),是否停止其運(yùn)行。如果指定此參數(shù),當(dāng)應(yīng)用程序發(fā)生錯(cuò)誤時(shí),應(yīng)用程序停止運(yùn)行并保持在當(dāng)前狀態(tài)(注意:應(yīng)用程序僅是靜止在發(fā)生錯(cuò)誤時(shí)的狀態(tài),系統(tǒng)并不會結(jié)束該應(yīng)用程序的進(jìn)程)。

5、--monitor-native-crashes

用于指定是否監(jiān)視并報(bào)告應(yīng)用程序發(fā)生崩潰的本地代碼

6、--hprof

該選項(xiàng)設(shè)置后,將會在monkey事件序列前后立刻生成report,大小為大于5MB,存儲在/data/misc

(三)事件類型

monkey在發(fā)送偽隨機(jī)事件時(shí),是有不同的類型的。默認(rèn)隨機(jī)分配比例,也可以指定其百分比。如果不設(shè)置會是--pct-anyevent為100%,也就是純隨機(jī)事件;如果配置了其他參數(shù),但是不夠100%,余下的百分比部分也是--pct-anyevent事件。

具體事件類型分別為:

1:觸摸事件--pct-touch

調(diào)整touch觸屏事件的百分比,觸碰事件就是指在屏幕上的一個(gè)單獨(dú)位置的一次點(diǎn)擊/抬起的事件。

2:滑屏事件--pct-motion(手勢事件)

(手勢事件是由一個(gè)在屏幕某處的按下事件、一系列的偽隨機(jī)移動、一個(gè)抬起事件組成)即一個(gè)滑動操作,但是是直線的,不能拐彎)

3:軌跡球--pct-trackball

(軌跡球事件包括一個(gè)或多個(gè)隨機(jī)移動,有時(shí)還伴有點(diǎn)擊。軌跡球現(xiàn)在智能手機(jī)上已經(jīng)沒有了,就是類似手柄的方向鍵一樣)

4:旋轉(zhuǎn)(--pct-rotation)

旋轉(zhuǎn)屏幕

5:導(dǎo)航--pct-nav

(導(dǎo)航事件包括上下左右,如方向輸入設(shè)備的輸入)老手機(jī)的上下左右鍵,智能機(jī)上沒有)

6:主導(dǎo)航--pct-majornav

調(diào)整主要導(dǎo)航事件的百分比(如中間鍵、取消、確定或菜單引發(fā)的圖形接口的動作)

7:系統(tǒng)按鍵--pct-syskeys

調(diào)整系統(tǒng)按鍵事件,如:home/back/startcall/endcall以及音量控制鍵等

8:app切換--pct-appswitch

調(diào)整啟動activity的百分比,在隨機(jī)間隔中,執(zhí)行一個(gè)startActivity()方法調(diào)用,作為一種最大化的覆蓋安裝包的所有的activity的方法

9:鍵盤翻轉(zhuǎn)(--pct-flip)

10:隨機(jī)--pct-anyevent

調(diào)整其他類型的事件的百分比,比如按鍵或其他不太常用到的一些事件的百分比

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 阿拉尔市| 高青县| 肇庆市| 昌江| 维西| 阳江市| 鄄城县| 大名县| 革吉县| 那坡县| 五大连池市| 额尔古纳市| 平罗县| 南乐县| 巴中市| 霍林郭勒市| 定西市| 西丰县| 鹰潭市| 南雄市| 石阡县| 台山市| 阳春市| 临沂市| 当涂县| 林州市| 安徽省| 临江市| 通州区| 新民市| 芷江| 女性| 保山市| 广水市| 无锡市| 达孜县| 舒兰市| 昂仁县| 交城县| 资兴市| 长子县|