adb 端口占用
adb nodaemon server
netstat -ano | findstr "5037"
taskkill /f /pid xxxx
adb安裝apk
adb devices // 檢查鏈接設(shè)備
cd 目標(biāo)路徑 //先將被測(cè)apk到目標(biāo)路徑下
adb install xxxx.apk
查包名
adb shell
ls data/data
一個(gè)簡(jiǎn)單的monkey例子
monkey -p 包名 -v 500
monkey --throttle 50 -p com.jiemoapp -s 10 1000
monkey --throttle 500 --pct-touch 80 -p com.jiemoapp -s 10 1000
monkey --throttle 500 --pct-touch 80 -p com.jiemoapp -s 10 1000
保存Monkey運(yùn)行l(wèi)og
保存在PC中 adb shell monkey [option] <count> > d:\monkey.txt
保存在手機(jī)中 monkey [optinon] <count> > /mnt/sdcard/monkey.txt
標(biāo)準(zhǔn)流與錯(cuò)誤流分開(kāi)保存
monkey [optinon] <count> 1> /mnt/sdcard/monkey.txt 2> /mnt/sdcard/error.txt
adb shell monkey --throttle 50 -v -v -v -p com.jiemoapp -s 10 10000 1>monkey.txt 2>error.txt
分類
選項(xiàng)
說(shuō)明
基本參數(shù)
- --help
打印幫助信息 - --v
Monkey向命令行打印輸出的log信息級(jí)別
默認(rèn)級(jí)別0:-v 只打印啟動(dòng)信息再层,測(cè)試完成信息和最終結(jié)果信息
級(jí)別1:-v 打印執(zhí)行時(shí)的一些信息扣讼,如發(fā)送事件
級(jí)別2:-v-v 打印最詳細(xì)信息
約束條件
- --p <允許執(zhí)行的包名列表>
如果用此參數(shù)指定了一個(gè)或幾個(gè)包提完,Monkey將只允許系統(tǒng)啟動(dòng)這些包里的Activity友瘤。如果你的應(yīng)用程序還需要訪問(wèn)其它包里的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è)類別片排。
事件
--s <隨機(jī)數(shù)種子>
偽隨機(jī)數(shù)生成器的seed值。如果用相同的seed值再次運(yùn)行Monkey速侈,它將生成相同的事件序列--throttle <毫秒>
在事件之間插入固定延遲率寡。通過(guò)這個(gè)選項(xiàng)可以減緩Monkey的執(zhí)行速度。如果不指定該選項(xiàng)倚搬,Monkey將不會(huì)被延遲冶共,事件將盡可能快地被產(chǎn)成--pct-touch <percent>
調(diào)整觸摸事件的百分比(觸摸事件是一個(gè)down-up事件,它發(fā)生在屏幕上的某單一位置)每界。--pct-motion <percent>
調(diào)整動(dòng)作事件的百分比(動(dòng)作事件由屏幕上某處的一個(gè)down事件比默、一系列的偽隨機(jī)事件和一個(gè)up事件組成)--pct-trackball <percent>
調(diào)整軌跡事件的百分比(軌跡事件由一個(gè)或幾個(gè)隨機(jī)的移動(dòng)組成,有時(shí)還伴隨有點(diǎn)擊)--pct-nav <percent>
調(diào)整“基本”導(dǎo)航事件的百分比(導(dǎo)航事件由來(lái)自方向輸入設(shè)備的up/down/left/right組成)--pct-majornav <percent>
調(diào)整“主要”導(dǎo)航事件的百分比(這些導(dǎo)航事件通常引發(fā)圖形界面中的動(dòng)作盆犁,如:5-way鍵盤(pán)的中間按鍵、回退按鍵篡九、菜單按鍵)--pct-syskeys <percent>
調(diào)整“系統(tǒng)”按鍵事件的百分比(這些按鍵通常被保留谐岁,由系統(tǒng)使用,如Home榛臼、Back伊佃、Start Call、End Call及音量控制鍵)--pct-appswitch <percent>
調(diào)整啟動(dòng)Activity的百分比沛善。在隨機(jī)間隔里航揉,Monkey將執(zhí)行一個(gè)startActivity()調(diào)用,作為最大程度覆蓋包中全部Activity的一種方法--pct-anyevent <percent>
調(diào)整其它類型事件的百分比金刁。它包羅了所有其它類型的事件帅涂,如:按鍵、其它不常用的設(shè)備按鈕尤蛮、等等--pct-flip PERCENT
--pct-pinchzoom PERCENT
調(diào)試
- --dbg-no-events
設(shè)置此選項(xiàng)媳友,Monkey將執(zhí)行初始啟動(dòng),進(jìn)入到一個(gè)測(cè)試Activity产捞,然后不會(huì)再進(jìn)一步生成事件醇锚。最好將它與-v、一個(gè)或幾個(gè)包約 束坯临、以及一個(gè)保持Monkey運(yùn)行30秒或更長(zhǎng)時(shí)間的非零值聯(lián)合起來(lái)焊唬,從而提供一個(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
應(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ā)生權(quán)限許可錯(cuò)誤時(shí),Monkey將停止運(yùn)行秕铛。如果設(shè)置了此選項(xiàng)约郁,Monkey將繼續(xù)向系統(tǒng)發(fā)送事件,直到計(jì)數(shù)完成 - --ignore-native-crashes
當(dāng)應(yīng)用發(fā)生底層C/C++代碼引起的奔潰事件時(shí)但两,Monkey將停止運(yùn)行鬓梅。如果設(shè)置了此項(xiàng),Monkey將繼續(xù)向系統(tǒng)發(fā)送事件谨湘,直到計(jì)數(shù)完成 - --monitor-native-crashes
監(jiān)視并報(bào)告Android系統(tǒng)中Android C/C++引起的崩潰事件绽快。如果設(shè)置了--kill-process-after-error,系統(tǒng)將停止運(yùn)行 - --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)程擅耽。注意活孩,當(dāng)Monkey正常執(zhí)行完畢,它不會(huì)關(guān)閉所有啟動(dòng)的應(yīng)用乖仇,設(shè)備依然保留Monkey結(jié)束時(shí)的狀態(tài)
--wait-dbg
啟動(dòng)Monkey后憾儒,先中斷其運(yùn)行,等待調(diào)試器附加上來(lái)