Monkey介紹以及命令

Monkey程序介紹

(1) Monkey程序由Android系統(tǒng)自帶,使用Java語(yǔ)言寫(xiě)成,在Android文件系統(tǒng)中的存放路徑是: /system/framework/monkey.jar;(2) Monkey.jar程序是由一個(gè)名為“monkey”的Shell腳本來(lái)啟動(dòng)執(zhí)行,shell腳本在Android文件系統(tǒng)中 的存放路徑是:/system/bin/monkey;(3)Monkey 命令啟動(dòng)方式:

a

)可以通過(guò)PC機(jī)CMD窗口中執(zhí)行: adb

shell monkey {+命令參數(shù)}來(lái)進(jìn)行Monkey測(cè)試??????????

b)在PC上adb shell 進(jìn)入Android系統(tǒng),通過(guò)執(zhí)行 monkey {+命令參數(shù)} 來(lái)進(jìn)行Monkey測(cè)試??????????

c )? 在Android機(jī)或者模擬器上直接執(zhí)行monkey 命令,可以在Android機(jī)上安裝Android終端模擬器

Monkey用來(lái)做什么

Monkey主要用于Android 的壓力測(cè)試? 自動(dòng)的一個(gè)壓力測(cè)試小工具,?主要目的就是為了測(cè)試app?是否會(huì)Crash(崩潰).

–pct-touch:觸摸事件。即在某一位置的Down-Up(手指的放下和抬起)事件。Down(ACTION_DOWN)和Up(ACTION_UP)的坐標(biāo)臨近,但并非相同。

–pct-motion:動(dòng)作事件。以Down(ACTION_DOWN)開(kāi)始,Up(ACTION_UP)結(jié)尾,中間至少有一次Move(ACTION_MOVE)。

-v

作用:命令行上的每一個(gè)-v都將增加反饋信息的詳細(xì)級(jí)別。

Level0(默認(rèn)),除了啟動(dòng)、測(cè)試完成和最終結(jié)果外只提供較少的信息。

Level1,提供了較為詳細(xì)的測(cè)試信息,如逐個(gè)發(fā)送到Activity的事件信息。

Level2,提供了更多的設(shè)置信息,如測(cè)試中選中或未選中的Activity信息。

:adb shell monkey -v 10

--throttle <milliseconds>

作用:在事件之間插入固定的時(shí)間(毫秒)延遲,你可以使用這個(gè)設(shè)置來(lái)減緩Monkey的運(yùn)行速度,如果你不指定這個(gè)參數(shù),則事件之間將沒(méi)有延遲,事件將以最快的速度生成。

:adb shell monkey --throttle 300 -v 10

--pct-touch <percent>

作用:調(diào)整觸摸事件的百分比。(觸摸事件是指在屏幕中的一個(gè)down-up事件,即在屏幕某處按下并抬起的操作)

:adb shell monkey --pct-touch 100 -v 10

--pct-motion <percent>

作用:調(diào)整motion事件百分比。(motion事件是由屏幕上某處一個(gè)down事件、一系列偽隨機(jī)的移動(dòng)事件和一個(gè)up事件組成)

:adb shell monkey --pct-motion 100 -v 10

約束條件

1、-p <allowed-package-name>

作用:如果你指定一個(gè)或多個(gè)包,Monkey將只允許訪問(wèn)這些包中的Activity。如果你的應(yīng)用程序需要訪問(wèn)這些包(如選擇聯(lián)系人)以外的Activity,你需要指定這些包。如果你不指定任何包,Monkey將允許系統(tǒng)啟動(dòng)所有包的Activity。指定多個(gè)包,使用多個(gè)-p,一個(gè)-p后面接一個(gè)包名。

:adb shell monkey -p com.android.browser -v 10

--ignore-crashes

作用:通常,應(yīng)用發(fā)生崩潰或異常時(shí)Monkey會(huì)停止運(yùn)行。如果設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計(jì)數(shù)完成。

--ignore-timeouts

作用:通常,應(yīng)用程序發(fā)生任何超時(shí)錯(cuò)誤(如“Application Not responding”對(duì)話框)Monkey將停止運(yùn)行,設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計(jì)數(shù)完成。

--ignore-security-exception?

作用:通常,當(dāng)程序發(fā)生許可錯(cuò)誤(例如啟動(dòng)一些需要許可的Activity)導(dǎo)致的異常時(shí),Monkey將停止運(yùn)行。設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計(jì)數(shù)完成。.


monkey -p com.tencent.mtaexample -s 23?--throttle2000 --ignore-crashes --ignore-timeouts -v -v -v100000>/data/local/tmp/log.txt 2>&1 &

? ? ? ? 1. ? -p后面接著的對(duì)應(yīng)的包名,如果是整機(jī)測(cè)試,就不需要-p? package_name

? ? ? ? 2. ? -s后面是對(duì)應(yīng)的種子數(shù),好像就是操作步驟,根據(jù)她們測(cè)試的經(jīng)驗(yàn),一般種子數(shù)在23,同步她們測(cè)試的結(jié)果,一般種子的個(gè)數(shù)固定為23,和她們選擇的操作步驟就是同步的。

? ? ? ? 3.? --ignore-crashes --ignore-timeouts 這里是在monkey測(cè)試的過(guò)程中遇到carash或者timeout的情況時(shí)忽略掉,一般不設(shè)置時(shí),出現(xiàn)carash或者timeout時(shí),Monkey測(cè)試會(huì)終止。這里是防止Monkey測(cè)試終止。

? ? ? ? 4. ? -v 指的是Monkey測(cè)試時(shí)打印log級(jí)別。

? ? ? ? 5. ? 100000這里是指點(diǎn)擊的次數(shù),根據(jù)她們測(cè)試的經(jīng)驗(yàn),對(duì)于單個(gè)應(yīng)用程序這個(gè)次數(shù)設(shè)置在100000次就可以了;如果是整機(jī),一般設(shè)置在500000次。

/data/local/tmp/log.txt測(cè)試的log記錄在手機(jī)上/data/local/tmp/下面的log.txt里面,這個(gè)名字可以自己寫(xiě)。

? ? ? ? 6.? 2>&1 固定的寫(xiě)法,這個(gè)也很重要,代表的意思是中間忽略的東東的日志一并輸入到指定的文件中。

? ? ? ? 7. ? 最后單獨(dú)的一個(gè)"&"是一旦Monkey測(cè)試開(kāi)始了,之后可以拔掉數(shù)據(jù)線,不會(huì)影響Monkey測(cè)試。

? ? ? ? 8. ? 測(cè)試所有模塊monkey ?-s 23 --ignore-crashes --ignore-timeouts -v-v -v 100000>/data/local/tmp/log.txt 2>&1 &

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容