為提高產(chǎn)品的穩(wěn)定性和留存率拘泞,通常需要對app進(jìn)行壓力測試舷胜。為避免進(jìn)行壓力測試帶來的影響怪蔑,壓力測試一般選擇在夜間進(jìn)行里覆。
monkey通過模擬事件流從而實現(xiàn)自動化測試,避免人為的實現(xiàn)自動重復(fù)大量繁瑣測試工作缆瓣。
Monkey測試前的環(huán)境搭建:
- Android SDK 環(huán)境搭建及環(huán)境變量的配置
- Python 環(huán)境搭建及環(huán)境變量的配置
測試步驟:
安裝apk → 發(fā)送壓力測試指令→析取Crash的Exception日志
adb shell monkey [事件次數(shù)]
eg:adb shell monkey 1000
(發(fā)送1000條測試指令喧枷,注:如果測試中途出現(xiàn)異常,會終止測試弓坞。如果需要繼續(xù)進(jìn)行隧甚,需要使用--ignore參數(shù)。)
常用命令介紹:
adb devices 查看與電腦連接的手機(jī)設(shè)備
adb logcat | grep START 查看系統(tǒng)中安裝的應(yīng)用包名渡冻,獲取測試app的packageName
adb shell monkey -p [packagename] 1000 給指定apk進(jìn)行壓力測試
Monkey高級參數(shù)的應(yīng)用
[--pct-trackball PERCENT] [--pct-syskeys PERCENT]
[--pct-nav PERCENT] [--pct-majornav PERCENT]
[--pct-appswitch PERCENT] [--pct-flip PERCENT]
[--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
[--pct-permission PERCENT]
[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
[--wait-dbg] [--dbg-no-events]
[--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
[--port port]
[-s SEED] [-v [-v] ...]
[--sort-app-list]
[--throttle MILLISEC] [--randomize-throttle]
[--profile-wait MILLISEC]
[--device-sleep-time MILLISEC]
[--randomize-script]
[--script-log]
[--bugreport]
[--periodic-bugreport]
[--permission-target-system]
[--delay-appswitch MILLISEC]
[--launch-app-after-launcher
[--launch-app-after-app MILLISEC PACKAGE_NAME CLASS_NAME]