Monkey命令詳解(壓力測試工具)
前言:Monkey是 Android SDK 提供的一種壓力測試工具,通過向系統(tǒng)發(fā)送偽隨機用戶事件(如點擊、滑動、按鍵等)來模擬用戶操作,測試 App 的穩(wěn)定性和健壯性
基本語法
adb shell monkey [options] <event-count>
- event-count: 指定要發(fā)送的隨機事件總數(shù)
- options: 控件事件類型, 頻率,約束條件等參數(shù)
常用參數(shù)
2.1事件類型參數(shù)
--pct-touch <percent> # 觸摸事件百分比 (點擊屏幕) --pct-motion <percent> # 手勢事件百分比 (滑動操作) --pct-trackball <percent> # 軌跡球事件百分比 (模擬軌跡球輸入) --pct-nav <percent> # 導(dǎo)航鍵事件百分比 (上下左右方向鍵) --pct-majornav <percent> # 主要導(dǎo)航事件百分比 (回退,菜單,Home鍵盤) --pct-syskeys <percent> # 系統(tǒng)按鍵百分比 (電源,音量鍵) --pct-appswitch <percent> # 啟動Activity事件百分比 --pct-flip <percent> # 鍵盤翻轉(zhuǎn)事件百分比
2.2 約束測試范圍
-p <package-name> # 指定測試的app包名 (可重復(fù)使用多個-p) -c <main-category> # 指定測試的Activity類別 (如android.intent.category.LAUNCHER)
2.3 調(diào)試選項
-v # 詳細(xì)級別(可重復(fù)使用多次,最多3次:-v -v -v) --throttle <milliseconds> # 事件間隔時間(毫秒) --ignore-crashes # 忽略崩潰繼續(xù)測試 --ignore-timeouts # 忽略超時繼續(xù)測試 --ignore-security-exceptions # 忽略安全異常繼續(xù)測試 --kill-process-after-error # 發(fā)生錯誤后終止進程 --monitor-native-crashes # 監(jiān)控Native代碼崩潰 --hprof # 測試后生成HPROF內(nèi)存分析文件
2.4.1 示例命令
對單個App進行基礎(chǔ)測試
adb shell monkey -p com.example.app -v 1000
- 對com.example.app 應(yīng)用發(fā)送1000個隨機事件
- -v 顯示詳細(xì)日志
2.4.2 控制事件類型分布
adb shell monkey -p com.example.app \ --pct-touch 60 \ --pct-motion 30 \ --pct-appswitch 10 \ -v -v 5000
- 60%觸摸事件,30%滑動事件,10%Activity切換事件
- -v -v顯示更詳細(xì)的日志
2.4.3 設(shè)置事件間隔并忽略崩潰
adb shell monkey -p com.example.app \ --throttle 500 \ --ignore-crashes \ --ignore-timeouts \ 10000
- 每個事件間隔500毫秒
- 忽略崩潰和超時錯誤,持續(xù)測試100000個事件
2.4.4 測試多個App
adb shell monkey -p com.example.app1 -p com.example.app2 -v 5000
- 同時測試兩個app,隨機在它們之間切換
2.4.5 監(jiān)控Native 崩潰并生成內(nèi)存分析
adb shell monkey -p com.example.app \ --monitor-native-crashes \ --hprof \ -v -v -v 2000
- 監(jiān)控C/C++代碼崩潰
- 測試結(jié)束后生成HPROF內(nèi)存分析文件
進階用法
3.1 保存日志到文件
adb shell monkey -p com.example.app -v 10000 > monkey_log.txt 2>&1
3.2在特定Activity啟動測試
adb shell monkey -p com.example.app \ -c android.intent.category.LAUNCHER \ 1000
3.3 組合多個參數(shù)
adb shell monkey -p com.example.app \ --throttle 300 \ --pct-touch 70 \ --pct-majornav 15 \ --pct-appswitch 15 \ --ignore-crashes \ --monitor-native-crashes \ -v -v 20000
到此這篇關(guān)于Monkey命令詳解的文章就介紹到這了,更多相關(guān)Monkey命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Android studio3.6的JNI教程之helloworld思路詳解
這篇文章主要介紹了基于Android studio3.6的JNI教程之helloworld,本文通過圖文實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
Android local.properties 文件讀取實例詳解
這篇文章主要介紹了Android local.properties 文件讀取實例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
如何玩轉(zhuǎn)Android矢量圖VectorDrawable
這篇文章主要教大家如何玩轉(zhuǎn)Android矢量圖VectorDrawable,對矢量圖感興趣的小伙伴們可以參考一下2016-05-05
Android中判斷網(wǎng)絡(luò)是否連接實例詳解
這篇文章主要介紹了Android中判斷網(wǎng)絡(luò)是否連接實例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01
Android基礎(chǔ)控件RadioGroup使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android基礎(chǔ)控件RadioGroup的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11
教你3分鐘了解Android 簡易時間軸的實現(xiàn)方法
本篇文章主要介紹了教你3分鐘了解Android 簡易時間軸的實現(xiàn)方法,具有一定的參考價值,有興趣的可以了解一下2017-07-07
Android Animation實戰(zhàn)之一個APP的ListView的動畫效果
這篇文章主要介紹了Android Animation實戰(zhàn)項目,為大家分享了一個APP的ListView的動畫效果,感興趣的小伙伴們可以參考一下2016-01-01
Studio 編譯報錯:compileSdkVersion ''android-24'' requires JDK 1.
今天小編就為大家分享一篇關(guān)于Studio編譯報錯:compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10

