一. 首先搭建monkey的運(yùn)行環(huán)境
- Java環(huán)境配置
a) 在百度內(nèi)搜索JDK官網(wǎng)下載JDK
b) 安裝JDK后匀泊,配置Java_Home 和 Path
i. Java_Home:C:\Program Files\Java\jdk1.8.0_31
ii. Path: %Java_Home%\bin
c) 配置成功后在dos命令內(nèi)輸入 >Java -version 和 >set java_home查看java_home是否存在,若存在則可以看到j(luò)dk安裝目錄 - Android環(huán)境配置
a) 與java一致 先下載adt在百度內(nèi)搜索adt-bundle
b) 安裝成功后將sdk的路徑放在Android_Home變量值: E:\adt-bundle-windows-x64\sdk Path需要設(shè)置倆個(gè)路徑Path : %Android_Home%\platform-tools;%Android_Home%\tools
c) 設(shè)置成功后運(yùn)行>adb >adb device 和 >emulator 若可正常運(yùn)行 則表示配置成功
d)運(yùn)行>set android_home可查看andorid_home是否存在遂黍,若存在則可以看到sdk安裝目錄
二. 環(huán)境搭建成功后可以進(jìn)行monkey壓力測(cè)試
1.電腦usb連接手機(jī)
2.開始 ->運(yùn)行(win+R鍵)俐填,輸入cmd安接,在命令行輸入adb shell
3.接下來就可以運(yùn)行monkey test的命令
如:monkey -p com.test -v 100 (com.test為需要測(cè)試的包)
三. monkey壓力測(cè)試命令詳解
monkey是sdk中附帶的一個(gè)工具,該工具 進(jìn)行壓力測(cè)試英融,然后開發(fā)人員根據(jù)monkey打印的日志結(jié)局測(cè)試中出現(xiàn)的問題
monkey測(cè)試中所有的事件都是隨機(jī)產(chǎn)生的盏檐,不帶有任何人的主觀性
四. 標(biāo)準(zhǔn)的monkey命令:
[adb shell] monkey [options] <eventcount>歇式,如:adb shell monkey -v 500
五. 在monkey測(cè)試中常用的命令組合有:
- adb shell monkey -p com.xindai.hxd -v 100 //簡(jiǎn)單的輸出測(cè)試的信息
- adb shell monkey -p com.xindai.hxd -v -v -v 100 //以深度為三級(jí)輸出測(cè)試信息
- adb shell monkey -p com.xindai.hxd --port 端口號(hào) -v 100 //為測(cè)試分配一個(gè)專用的端口號(hào),不過這個(gè)命令只能輸出跳轉(zhuǎn)的信息及有錯(cuò)誤時(shí)輸出信息
- adb shell monkey -p com.xindai.hxd -s 數(shù)字 -v -v -v 100 //為隨機(jī)數(shù)的事件序列定一個(gè)值胡野,如出現(xiàn)問題下次可以重復(fù)同樣的系列進(jìn)行排錯(cuò)
- adb shell monkey -p com.xindai.hxd -v -v -v --throttle 3000 100 //為每一次執(zhí)行一次有效的事件后休眠3000毫秒
六. monkey options 通常分為四大類——常用選項(xiàng)材失、時(shí)間選項(xiàng)、約束選項(xiàng)硫豆、調(diào)試選項(xiàng)
1.常用選項(xiàng)如下:
--help:打印幫助信息
-v:指定打印信息的詳細(xì)級(jí)別龙巨,一個(gè) -v增加一個(gè)級(jí)別 , 默認(rèn)級(jí)別為 0 熊响。
2.事件選項(xiàng)如下:
-s:指定產(chǎn)生隨機(jī)事件種子值旨别,相同的種子值產(chǎn)生相同的事件序列。如: -s 200
--throttle:每個(gè)事件結(jié)束后的間隔時(shí)間——降低系統(tǒng)的壓力(如不指定耘眨,系統(tǒng)會(huì)盡快的發(fā)送事件序列)昼榛。如:--throttle 100
--pct-touch:指定觸摸事件的百分比,如:--pct-touch 5%
--pct-motion <percent> (滑動(dòng)事件)
--pct-trackball <percent> (軌跡球事件)
--pct-nav <percent> (導(dǎo)航事件 up/down/left/right)
--pct-majornav <percent> (主要導(dǎo)航事件 back key 剔难、 menu key)
--pct-syskeys <percent> (系統(tǒng)按鍵事件 Home 胆屿、Back 、startCall 偶宫、 endCall 非迹、 volumeControl)
--pct-appswitch <percent> (activity之間的切換)
--pct-anyevent <percent>(任意事件)
3.約束選項(xiàng)如下:
-p:指定有效的package(如不指定,則對(duì)系統(tǒng)中所有package有效)纯趋,一個(gè)-p 對(duì)應(yīng)一個(gè)有效package憎兽, 如:-p com.ckt -p com.ckt.asura;
-c:activity必須至少包含一個(gè)指定的category吵冒,才能被啟動(dòng)纯命,否則啟動(dòng)不了;
4.調(diào)試選項(xiàng)如下:
--dbg-no-events:初始化啟動(dòng)的activity痹栖,但是不產(chǎn)生任何事件亿汞。
--hprof:指定該項(xiàng)后在事件序列發(fā)送前后會(huì)立即生成分析報(bào)告 —— 一般建議指定該項(xiàng)。
--ignore-crashes:忽略崩潰
--ignore-timeouts:忽略超時(shí)
--ignore-security-exceptions:忽略安全異常
--kill-process-after-error:發(fā)生錯(cuò)誤后直接殺掉進(jìn)程
--monitor-native-crashes:跟蹤本地方法的崩潰問題
--wait-dbg:知道連接了調(diào)試器才執(zhí)行monkey測(cè)試揪阿。
5.列舉一個(gè)簡(jiǎn)單的monkey命令:
adb shell monkey -p com.xy.android.junit -s 500 -v 10000
但是疗我,在工作中為了保證測(cè)試可以完整進(jìn)行,為了防止發(fā)生錯(cuò)誤時(shí)立刻退出壓力測(cè)試南捂。更為了 可以方便查看log吴裤,monkey 測(cè)試命令如下:
adb shell monkey -p com.xy.android.junit -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt
monkey作用的包:com.ckt.android.junit
產(chǎn)生時(shí)間序列的種子值:500
忽略程序崩潰 、 忽略超時(shí) 溺健、 監(jiān)視本地程序崩潰 麦牺、 詳細(xì)信息級(jí)別為2 , 產(chǎn)生 10000個(gè)事件 ,log輸出到E盤monkey_log文件夾下的java_monkey_log.txt
七. monkey 測(cè)試結(jié)果詳細(xì)分析
1.事件所占比例分析
4.當(dāng)有FC(Force Close)錯(cuò)誤
5.logcat輸出的信息: