可以通過開發(fā)機(jī)器上的命令行或腳本來啟動(dòng)Monkey。由于Monkey運(yùn)行在模擬器/設(shè)備環(huán)境中,所以必須用其環(huán)境中的shell來進(jìn)行啟動(dòng)。可以通過在每條命令前加上adb shell來達(dá)到目的,也可以進(jìn)入Shell后直接輸入Monkey命令?;菊Z法如下:
$ adb shell monkey [options]
如果不指定options,Monkey將以無反饋模式啟動(dòng),并把事件任意發(fā)送到安裝在目標(biāo)環(huán)境中的全部包。下面是一個(gè)更為典型的命令行示例,它啟動(dòng)指定的應(yīng)用程序,并向其發(fā)送500個(gè)偽隨機(jī)事件:
$ adb shell monkey -p your.package.name -v 500
創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)淮上,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
You can launch the Monkey using a command line on your development machine or from a script. Because the Monkey runs in the emulator/device environment, you must launch it from a shell in that environment. You can do this by prefacing adb shell to each command, or by entering the shell and entering Monkey commands directly.
The basic syntax is:
$ adb shell monkey [options]
With no options specified, the Monkey will launch in a quiet (non-verbose) mode, and will send events to any (and all) packages installed on your target. Here is a more typical command line, which will launch your application and send 500 pseudo-random events to it:
$ adb shell monkey -p your.package.name -v 500
--help
列出簡(jiǎn)單的用法。
-v
命令行的每一個(gè)-v將增加反饋信息的級(jí)別。Level 0(缺省值)除啟動(dòng)提示、測(cè)試完成和最終結(jié)果之外,提供較少信息。Level 1提供較為詳細(xì)的測(cè)試信息,如逐個(gè)發(fā)送到Activity的事件。Level 2提供更加詳細(xì)的設(shè)置信息,如測(cè)試中被選中的或未被選中的Activity。
事件
-s
偽隨機(jī)數(shù)生成器的seed值。如果用相同的seed值再次運(yùn)行Monkey,它將生成相同的事件序列。
--throttle
在事件之間插入固定延遲。通過這個(gè)選項(xiàng)可以減緩Monkey的執(zhí)行速度。如果不指定該選項(xiàng),Monkey將不會(huì)被延遲,事件將盡可能快地被產(chǎn)成。
--pct-touch
調(diào)整觸摸事件的百分比(觸摸事件是一個(gè)down-up事件,它發(fā)生在屏幕上的某單一位置)。
--pct-motion
調(diào)整動(dòng)作事件的百分比(動(dòng)作事件由屏幕上某處的一個(gè)down事件、一系列的偽隨機(jī)事件和一個(gè)up事件組成)。
--pct-trackball
調(diào)整軌跡事件的百分比(軌跡事件由一個(gè)或幾個(gè)隨機(jī)的移動(dòng)組成,有時(shí)還伴隨有點(diǎn)擊)。
--pct-nav
調(diào)整“基本”導(dǎo)航事件的百分比(導(dǎo)航事件由來自方向輸入設(shè)備的up/down/left/right組成)。
--pct-majornav
調(diào)整“主要”導(dǎo)航事件的百分比(這些導(dǎo)航事件通常引發(fā)圖形界面中的動(dòng)作,如:5-way鍵盤的中間按鍵、回退按鍵、菜單按鍵)
--pct-syskeys
調(diào)整“系統(tǒng)”按鍵事件的百分比(這些按鍵通常被保留,由系統(tǒng)使用,如Home、Back、Start Call、End Call及音量控制鍵)。
--pct-appswitch
調(diào)整啟動(dòng)Activity的百分比。在隨機(jī)間隔里,Monkey將執(zhí)行一個(gè)startActivity()調(diào)用,作為最大程度覆蓋包中全部Activity的一種方法。
--pct-anyevent
調(diào)整其它類型事件的百分比。它包羅了所有其它類型的事件,如:按鍵、其它不常用的設(shè)備按鈕、等等。
約束限制
-p
如果用此參數(shù)指定了一個(gè)或幾個(gè)包,Monkey將只允許系統(tǒng)啟動(dòng)這些包里的Activity。如果你的應(yīng)用程序還需要訪問其它包里的Activity(如選擇取一個(gè)聯(lián)系人),那些包也需要在此同時(shí)指定。如果不指定任何包,Monkey將允許系統(tǒng)啟動(dòng)全部包里的Activity。要指定多個(gè)包,需要使用多個(gè) -p選項(xiàng),每個(gè)-p選項(xiàng)只能用于一個(gè)包。
-c
如果用此參數(shù)指定了一個(gè)或幾個(gè)類別,Monkey將只允許系統(tǒng)啟動(dòng)被這些類別中的某個(gè)類別列出的Activity。如果不指定任何類別,Monkey將選 擇下列類別中列出的Activity: Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY。要指定多個(gè)類別,需要使用多個(gè)-c選項(xiàng),每個(gè)-c選 項(xiàng)只能用于一個(gè)類別。
調(diào)試
--dbg-no-events
設(shè)置此選項(xiàng),Monkey將執(zhí)行初始啟動(dòng),進(jìn)入到一個(gè)測(cè)試Activity,然后不會(huì)再進(jìn)一步生成事件。為了得到最佳結(jié)果,把它與-v、一個(gè)或幾個(gè)包約 束、以及一個(gè)保持Monkey運(yùn)行30秒或更長(zhǎng)時(shí)間的非零值聯(lián)合起來,從而提供一個(gè)環(huán)境,可以監(jiān)視應(yīng)用程序所調(diào)用的包之間的轉(zhuǎn)換。
--hprof
設(shè)置此選項(xiàng),將在Monkey事件序列之前和之后立即生成profiling報(bào)告。這將會(huì)在data/misc中生成大文件(~5Mb),所以要小心使用它。
--ignore-crashes
通常,當(dāng)應(yīng)用程序崩潰或發(fā)生任何失控異常時(shí),Monkey將停止運(yùn)行。如果設(shè)置此選項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成。
--ignore-timeouts
通常,當(dāng)應(yīng)用程序發(fā)生任何超時(shí)錯(cuò)誤(如“Application Not Responding”對(duì)話框)時(shí),Monkey將停止運(yùn)行。如果設(shè)置此選項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成。
--ignore-security-exceptions
通常,當(dāng)應(yīng)用程序發(fā)生許可錯(cuò)誤(如啟動(dòng)一個(gè)需要某些許可的Activity)時(shí),Monkey將停止運(yùn)行。如果設(shè)置了此選項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成。
--kill-process-after-error
通常,當(dāng)Monkey由于一個(gè)錯(cuò)誤而停止時(shí),出錯(cuò)的應(yīng)用程序?qū)⒗^續(xù)處于運(yùn)行狀態(tài)。當(dāng)設(shè)置了此選項(xiàng)時(shí),將會(huì)通知系統(tǒng)停止發(fā)生錯(cuò)誤的進(jìn)程。注意,正常的(成功的)結(jié)束,并沒有停止啟動(dòng)的進(jìn)程,設(shè)備只是在結(jié)束事件之后,簡(jiǎn)單地保持在最后的狀態(tài)。
--monitor-native-crashes
監(jiān)視并報(bào)告Android系統(tǒng)中本地代碼的崩潰事件。如果設(shè)置了--kill-process-after-error,系統(tǒng)將停止運(yùn)行。
--wait-dbg
停止執(zhí)行中的Monkey,直到有調(diào)試器和它相連接。