什么是 Monkey
Monkey 是Android SDK提供的一個(gè)命令行工具什燕, 可以簡(jiǎn)單方便地運(yùn)行在任何版本的Android模擬器和實(shí)體設(shè)備上。 Monkey會(huì)發(fā)送偽隨機(jī)的用戶事件流徘钥,適合對(duì)app做壓力測(cè)試派殷。
官方地址:https://developer.android.com/studio/test/monkey
Monkey 使用
Monkey 命令幫助
adb shell monkey –helpMonkey 模擬執(zhí)行某個(gè)應(yīng)用
adb shell monkey -p com.tencent.mm 1000
說(shuō)明:1000 為隨機(jī)事件的數(shù)參數(shù):-p
指定某個(gè)應(yīng)用茴肥,后跟包名參數(shù):-v
指定反饋信息的詳情程度坚踩,等級(jí)越高越詳細(xì)
- Leve 1: 僅提供啟動(dòng)提示、測(cè)試完成和最終結(jié)果
adb shell monkey -p com.tencent.mm -v 1000
- Leve 2:包括每個(gè)發(fā)送到Activity的事件信息
adb shell monkey -p com.tencent.mm -v -v 1000
- Leve 3:包括了測(cè)試中選中/未選中的Activity信息
adb shell monkey -p com.tencent.mm -v 1000
參數(shù): -s
用于指定偽隨機(jī)數(shù)生成器的seed值瓤狐,如果seed相同瞬铸,則兩次Monkey測(cè)試所產(chǎn)生的事件序列也相同的批幌。可用于復(fù)測(cè)嗓节。
adb shell monkey -p com.tencent.mm -v -s 10 1000
參數(shù):--throttle <毫秒>
操作事件的時(shí)延
adb shell monkey -p com.tencent.mm --throttle 500 1000
參數(shù):--pct-{+事件類別} {+事件類別百分比}
事件類別:touch(觸摸) 荧缘,motion (動(dòng)作),trackball(軌跡) 拦宣,nav(導(dǎo)航)截粗,majornav(導(dǎo)航圖形界面) ,syskeys(系統(tǒng)按鍵)鸵隧,appswitch(啟動(dòng)Activity) 绸罗,anyevent (其它類型)其他參數(shù)
--ignore-crashes
即使應(yīng)用程序崩潰,Monkey依然會(huì)發(fā)送事件豆瘫,直到事件計(jì)數(shù)完成珊蟀。
--ignore-timeouts
使應(yīng)用程序發(fā)生ANR錯(cuò)誤,Monkey依然會(huì)發(fā)送事件外驱,直到事件計(jì)數(shù)完成系洛。
--ignore-security-exceptions
即使應(yīng)用程序發(fā)生許可錯(cuò)誤,Monkey依然會(huì)發(fā)送事件略步,直到事件計(jì)數(shù)完成。
--kill-process-after-error
當(dāng)應(yīng)用程序發(fā)生錯(cuò)誤時(shí)定页,應(yīng)用程序停止運(yùn)行并保持在當(dāng)前狀態(tài)
--monitor-native-crashes
用于指定是否監(jiān)視并報(bào)告應(yīng)用程序發(fā)生崩潰的本地代碼趟薄。停止 monkey 運(yùn)行
adb shell
top | grep monkey
kill -9 [id編號(hào)]