日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

如何进行Monkey Test

發(fā)布時(shí)間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何进行Monkey Test 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

一 簡(jiǎn)介

二?測(cè)試準(zhǔn)備

三 基本命令格式

四 測(cè)試Log獲取

五?Monkey命令參數(shù)介紹

六?Android?Monkey?test官方資料

?

一、簡(jiǎn)介

MonkeyAndroid中的一個(gè)命令行工具,可以運(yùn)行在模擬器里或?qū)嶋H設(shè)備中。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢(shì)輸入等),實(shí)現(xiàn)對(duì)正在開(kāi)發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試。Monkey包括許多選項(xiàng),它們大致分為四大類:

?

  • 基本配置選項(xiàng),如設(shè)置嘗試的事件數(shù)量
  • 運(yùn)行約束選項(xiàng),如設(shè)置只對(duì)單獨(dú)的一個(gè)包進(jìn)行測(cè)試
  • 事件類型和頻率
  • 調(diào)試選項(xiàng)

?

Monkey運(yùn)行的時(shí)候,它生成事件,并把它們發(fā)給系統(tǒng)。同時(shí),Monkey還對(duì)測(cè)試中的系統(tǒng)進(jìn)行監(jiān)測(cè),對(duì)下列三種情況進(jìn)行特殊處理(自動(dòng)停止)

?

  • 如果限定了Monkey運(yùn)行在一個(gè)或幾個(gè)特定的包上,那么它會(huì)監(jiān)測(cè)試圖轉(zhuǎn)到其它包的操作,并對(duì)其進(jìn)行阻止。
  • 如果應(yīng)用程序崩潰或接收到任何失控異常,Monkey將停止并報(bào)錯(cuò)。
  • 如果應(yīng)用程序產(chǎn)生了應(yīng)用程序不響應(yīng)(application?not?responding)的錯(cuò)誤,Monkey將會(huì)停止并報(bào)錯(cuò)。

?

按照選定的不同級(jí)別的反饋信息,在Monkey中還可以看到其執(zhí)行過(guò)程報(bào)告和生成的事件

?

二、測(cè)試準(zhǔn)備

Monkey?test前必須先進(jìn)入android設(shè)備的adb?shellAndroid?SDK環(huán)境配置不在此描述,網(wǎng)上有很多)步驟如下:

1.?開(kāi)始—>運(yùn)行—>cmd???

2.?usb連接手機(jī),輸入?adb?shell?命令,待出現(xiàn)??即可輸入以下內(nèi)容?

3.?進(jìn)入手機(jī)后,輸入相應(yīng)的monkey命令即可測(cè)試

?

?

三、基本命令格式

adb?shell?monkey?p?程序包?–v?測(cè)試次數(shù)

比如“adb?shell?monkey?p?com.htc.Weather?–v?20000”意思是對(duì)com.htc.Weather?這個(gè)程序包單獨(dú)進(jìn)行一次20000次的monkey測(cè)試

其中程序包名稱可以在串口終端這句命令獲得:ls?data/data?顯示所有程序包

?

四、測(cè)試Log獲取

Monkey?test測(cè)試,為了方便分析問(wèn)題,可以在命令monkey命令后面加上?|logcat?-v?time,這樣就能邊測(cè)試邊打印Log(記得用終端保存Log文本)例如:

adb?shell?monkey?–p?com.htc.Weather?–v?20000|logcat?-v?time

但是這個(gè)組合在monkey測(cè)試完成后,logcat仍然在執(zhí)行,測(cè)試時(shí)需要注意。

如果測(cè)試monkey碰到crash或者anr(程序強(qiáng)制性退出或不響應(yīng))現(xiàn)象時(shí),在抓取log的同時(shí)需要提供traces.txt,步驟如下:

1.?測(cè)試版本需要具備root權(quán)限

2.?進(jìn)入data/anr目錄下面

3.?traces.txt文件拷貝到TF卡中,然后拷貝出來(lái)發(fā)給軟件分析即可

?

Monkey命令參數(shù)介紹

1)?參數(shù):-p

參數(shù)-p用于約束限制,用此參數(shù)指定一個(gè)或多個(gè)包(Package,即App)。指定

包之后,Monkey將只允許系統(tǒng)啟動(dòng)指定的APP。如果不指定包,Monkey將允許系統(tǒng)啟動(dòng)設(shè)備中的所有APP。

*?指定一個(gè)包:?adb?shell?monkey?-p?com.htc.Weather??100

說(shuō)明:com.htc.Weather為包名,100是事件計(jì)數(shù)(即讓Monkey程序模擬100次隨機(jī)用戶事件)。

*?指定多個(gè)包:adb?shell?monkey?-p?com.htc.Weather?–p?com.htc.pdfreader??-p?com.htc.photo.widgets?100

*?不指定包:adb?shell?monkey?100

 說(shuō)明:Monkey隨機(jī)啟動(dòng)APP并發(fā)送100個(gè)隨機(jī)事件。

*?要查看設(shè)備中所有的包,在CMD窗口中執(zhí)行以下命令:

??>adb?shell

??#cd?data/data

??#ls

?

2)?參數(shù):??-v

用于指定反饋信息級(jí)別(信息級(jí)別就是日志的詳細(xì)程度),總共分3個(gè)級(jí)別,分別對(duì)應(yīng)的參數(shù)如下表所示:

日志級(jí)別?Level?0??

示例?adb?shell?monkey?-p?com.htc.Weather?–v?100

說(shuō)明?缺省值,僅提供啟動(dòng)提示、測(cè)試完成和最終結(jié)果等少量信息

?

日志級(jí)別?Level?1

示例?adb?shell?monkey?-p?com.htc.Weather?–v?-v?100

說(shuō)明??提供較為詳細(xì)的日志,包括每個(gè)發(fā)送到Activity的事件信息?

?

日志級(jí)別?Level?2

示例?adb?shell?monkey?-p?com.htc.Weather?–v?-v?–v?100

說(shuō)明??最詳細(xì)的日志,包括了測(cè)試中選中/未選中的Activity信息

?

3)參數(shù):??-s

用于指定偽隨機(jī)數(shù)生成器的seed值,如果seed相同,則兩次Monkey測(cè)試所產(chǎn)生的事件序列也相同的。

*?示例:

 Monkey測(cè)試1adb?shell?monkey?-p?com.htc.Weather?–s?10?100

??Monkey測(cè)試2adb?shell?monkey?-p?com.htc.Weather?–s?10?100

???兩次測(cè)試的效果是相同的,因?yàn)槟M的用戶操作序列(每次操作按照一定的先后順序所組成的一系列操作,即一個(gè)序列)是一樣的。操作序列雖然是隨機(jī)生成的,但是只要我們指定了相同的Seed值,就可以保證兩次測(cè)試產(chǎn)生的隨機(jī)操作序列是完全相同的,所以這個(gè)操作序列偽隨機(jī)的;

?

4)?參數(shù):??--throttle?<毫秒>

用于指定用戶操作(即事件)間的時(shí)延,單位是毫秒;

*?示例:adb?shell?monkey?-p?com.htc.Weather?–throttle?3000?100

???

5)?參數(shù):??--ignore-crashes

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

*?示例1adb?shell?monkey?-p?com.htc.Weather?--ignore-crashes?1000

??測(cè)試過(guò)程中即使Weather程序崩潰,Monkey依然會(huì)繼續(xù)發(fā)送事件直到事件數(shù)目達(dá)到1000為止;

*?示例2adb?shell?monkey?-p?com.htc.Weather?1000

??測(cè)試過(guò)程中,如果Weather程序崩潰,Monkey將會(huì)停止運(yùn)行。

?

6)?參數(shù):??--ignore-timeouts

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

?

7)?參數(shù):??--ignore-security-exceptions

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

?

8)?參數(shù):??--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)并不會(huì)結(jié)束該應(yīng)用程序的進(jìn)程)。

?

9)?參數(shù):??--monitor-native-crashes

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

?

10)?參數(shù):??--pct-+事件類別}?{+事件類別百分比}

用于指定每種類別事件的數(shù)目百分比(在Monkey事件序列中,該類事件數(shù)目占總事件數(shù)目的百分比)

?

參數(shù):

使用說(shuō)明:

示例:

?

--pct-touch?+百分比}

調(diào)整觸摸事件的百分比(觸摸事件是一個(gè)down-up事件,它發(fā)生在屏幕上的某單一位置)

adb?shell?monkey?-p?com.htc.Weather?--pct-touch?10?1000

?

--pct-motion?+百分比}

調(diào)整動(dòng)作事件的百分比(動(dòng)作事件由屏幕上某處的一個(gè)down事件、一系列的偽隨機(jī)事件和一個(gè)up事件組成)adb?shell?monkey?-p?com.htc.Weather?--pct-motion?20?1000

?

--pct-trackball?+百分比}

調(diào)整軌跡事件的百分比(軌跡事件由一個(gè)或幾個(gè)隨機(jī)的移動(dòng)組成,有時(shí)還伴隨有點(diǎn)擊)

adb?shell?monkey?-p?com.htc.Weather?--pct-trackball?30?1000

--pct-nav?+百分比}

?

調(diào)整基本導(dǎo)航事件的百分比(導(dǎo)航事件由來(lái)自方向輸入設(shè)備的up/down/left/right組成)

adb?shell?monkey?-p?com.htc.Weather?--pct-nav?40?1000

?

--pct-majornav?+百分比}

調(diào)整主要導(dǎo)航事件的百分比(這些導(dǎo)航事件通常引發(fā)圖形界面中的動(dòng)作,如:5-way鍵盤(pán)的中間按鍵、回退按鍵、菜單按鍵)

adb?shell?monkey?-p?com.htc.Weather?--pct-majornav?50?1000

?

--pct-syskeys?+百分比}

調(diào)整系統(tǒng)按鍵事件的百分比(這些按鍵通常被保留,由系統(tǒng)使用,如Home、Back、Start?Call、End?Call及音量控制鍵)

adb?shell?monkey?-p?com.htc.Weather?--pct-syskeys?60?1000

?

--pct-appswitch?+百分比}

調(diào)整啟動(dòng)Activity的百分比。在隨機(jī)間隔里,Monkey將執(zhí)行一個(gè)startActivity()調(diào)用,作為最大程度覆蓋包中全部Activity的一種方法

adb?shell?monkey?-p?com.htc.Weather?--pct-appswitch?70?1000

?

--pct-anyevent?+百分比}

調(diào)整其它類型事件的百分比。它包羅了所有其它類型的事件,如:按鍵、其它不常用的設(shè)備按鈕、等等

adb?shell?monkey?-p?com.htc.Weather

?

--pct?-anyevent?100?1000*?指定多個(gè)類型事件的百分比:?

adb?shell?monkey?-p?com.htc.Weather?--pct-anyevent?50?--pct-appswitch?50?1000

注意:各事件類型的百分比總數(shù)不能超過(guò)100%;?

原文:http://www.cnblogs.com/zgz345/p/3186811.html

總結(jié)

以上是生活随笔為你收集整理的如何进行Monkey Test的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。