Android Monkey的使用
轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/zhaoyanjun6/article/details/71750907
本文出自【趙彥軍的博客】
什么是 Monkey
Monkey 是一個(gè) Android 自動化測試小工具。主要用于Android 的壓力測試, 主要目的就是為了測試app 是否會Crash.
Monkey 特點(diǎn)
顧名思義,Monkey就是猴子, Monkey測試,就像一只猴子, 在電腦面前,亂敲鍵盤在測試。 猴子什么都不懂, 只知道亂敲。通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、 按鍵等操作來對設(shè)備上的程序進(jìn)行壓力測試,檢測程序多久的時(shí)間會發(fā)生異常。
Monkey程序介紹
Monkey 程序是由 Android 系統(tǒng)自帶,使用 Java 語言寫成。在Android文件系統(tǒng)中的存放路徑是: /system/framework/monkey.jar;
Monkey.jar程序是由一個(gè)名為“monkey”的Shell腳本來啟動執(zhí)行,shell腳本在Android文件系統(tǒng)中 的存放路徑是:/system/bin/monkey;
Monkey 啟動方式:在 cmd 命令提示符里面輸入命令行來啟動 monkey 測試。
Monkey 架構(gòu)
Monkey 運(yùn)行在設(shè)備或模擬器上面,可以脫離PC運(yùn)行(普遍做法是將monkey作為一個(gè)像待測應(yīng)用發(fā)送 隨機(jī)按鍵消息的測試工具。驗(yàn)證待測應(yīng)用在這些隨機(jī)性的輸入面前是否會閃退或者崩潰)
Monkey 參數(shù)大全
Monkey 命令基本參數(shù)介紹
1、允許啟動手機(jī)里面所有的 App , 隨機(jī)操作 1000 次
adb shell monkey 1000
2、-p : 允許啟動 App 的包名
- 啟動一個(gè)包名的應(yīng)用
QQ 的包名為: com.tencent.mobileqq
adb shell monkey -p com.tencent.mobileqq 1000
隨機(jī)操作 手機(jī) QQ 1000 次
- 啟動指定的多個(gè) App
微信的包名為:com.tencent.mm
adb shell monkey -p com.tencent.mobileqq -p com.tencent.mm 1000
隨機(jī)操作 手機(jī) QQ 和 微信 1000 次
3、-v : 操作日志記錄
命令行的每一個(gè)-v將增加反饋信息的級別。
- -v:Level 0(缺省值)除 啟動提示、測試完成和最終結(jié)果之外,提供較少信息。
- -v -v :Level 1提供較為詳細(xì)的測試信息,如逐個(gè)發(fā)送到Activity的 事件。
- -v -v -v :Level 2提供更加詳細(xì)的設(shè)置信息,如測試中被選中的或未被選中的Activity。
adb shell monkey -p com.tencent.mobileqq -v -v -v 100
4、-s : 偽隨機(jī)數(shù)生成器的seed值
如果用相同的seed值再次運(yùn)行monkey,將生成相同的事件序列。
adb shell monkey -s 12345 -v 10
5、–ignore-crashes : 忽略操作是崩潰異常
通常,應(yīng)用發(fā)生崩潰或異常時(shí)Monkey會停止運(yùn)行。如果設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計(jì)數(shù)完成。
adb shell monkey –ignore-crashes -v 1000
6、–ignore-timeouts : 忽略超時(shí)
通常,應(yīng)用程序發(fā)生任何超時(shí)錯誤(如“Application Not responding”對話框)Monkey將停止運(yùn)行,設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計(jì)數(shù)完成。
adb shell monkey –ignore-timeouts -v 1000
7、–ignore-security-exceptions : 忽略程序發(fā)生許可異常
通常,當(dāng)程序發(fā)生許可錯誤(例如啟動一些需要許可的Activity)導(dǎo)致的異常時(shí),Monkey將停止運(yùn)行。設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng),直到事件計(jì)數(shù)完成。
adb shell monkey –ignore-security-exceptions -v 1000
8、–throttle : 插入固定延遲
在事件之間插入固定延遲。通過這個(gè)選項(xiàng)可以減緩Monkey的執(zhí)行速度。如果不指定該選項(xiàng),Monkey將不會被延遲,事件將盡可能快地被執(zhí)行。
adb shell monkey –throttle 500 -v 500
隨機(jī)執(zhí)行 500 個(gè)事件,每個(gè)事件之間延遲 500 毫秒被執(zhí)行。
9、–help : 列出簡單的用法
adb shell monkey -help
結(jié)果:
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...][-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...][--ignore-crashes] [--ignore-timeouts][--ignore-security-exceptions][--monitor-native-crashes] [--ignore-native-crashes][--kill-process-after-error] [--hprof][--pct-touch PERCENT] [--pct-motion PERCENT][--pct-trackball PERCENT] [--pct-syskeys PERCENT][--pct-nav PERCENT] [--pct-majornav PERCENT][--pct-appswitch PERCENT] [--pct-flip PERCENT][--pct-anyevent PERCENT] [--pct-pinchzoom 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] ...][--throttle MILLISEC] [--randomize-throttle][--profile-wait MILLISEC][--device-sleep-time MILLISEC][--randomize-script][--script-log][--bugreport][--periodic-bugreport]COUNTMonkey 異常處理
1、調(diào)試設(shè)備找不到
error: no devices/emulators found
解決方案: 打開開發(fā)者選項(xiàng),打開 USB 調(diào)試
總結(jié)
以上是生活随笔為你收集整理的Android Monkey的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 源码查看和解析
- 下一篇: Android 获取系统语言(兼容7.0