1. What is Monkey?
Monkey is a tool included in the SDK.
2. What is the purpose of Monkey testing?
: This tool is used for stress testing. The developer then combines the logs printed by the monkey and the logs printed by the system to resolve problems that arise during the test.
3. What are the characteristics of Monkey testing?
Monkey test, all events are generated randomly without any human subjectivity.
4. Detailed explanation of Monkey command
1). Standard monkey command
[adb shell] monkey [options]
adb shell monkey -v 500 --------Generate 500 random events, affecting all activities in the system (in fact, not all activities, but activities containing Intent.CATEGORY_LAUNCHER or Intent.CATEGORY_MONKEY).
The above is just a simple example. In actual situations, there are usually many options
2). Four categories - common options, event options, constraint options, and debugging options
1: Common options
--help:打印帮助信息 -v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。
2: Event options
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200 --throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100 --pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有以下option: --pct-motion <percent> (滑动事件)、 --pct-trackball <percent> (轨迹球事件) 、 --pct-nav <percent> (导航事件 up/down/left/right)、 --pct-majornav <percent> (主要导航事件 back key 、 menu key)、 --pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、 --pct-appswitch <percent> (activity之间的切换)、 --pct-anyevent <percent>(任意事件)
3: Constraint options
-p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura; -c:activity必须至少包含一个指定的category,才能被启动,否则启动不了;
4: Debug options
--dbg-no-events:初始化启动的activity,但是不产生任何事件。 --hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。 --ignore-crashes:忽略崩溃 --ignore-timeouts:忽略超时 --ignore-security-exceptions:忽略安全异常 --kill-process-after-error:发生错误后直接杀掉进程 --monitor-native-crashes:跟踪本地方法的崩溃问题 --wait-dbg:知道连接了调试器才执行monkey测试。
5. A simple monkey command:
adb shell monkey -p com.xy.android.junit -s 500 -v 10000
However, in order to ensure the complete number of tests at work, we generally do not exit the stress test immediately when an error occurs. The monkey test command is as follows
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
6. The package used by monkey: com.ckt.android.junit
The seed value for generating time series: 500
Ignore program crashes, ignore timeouts, and monitor local program crashes , the detail level is 2, and 10,000 events are generated.
For more detailed explanations of the android stress test command monkey, please pay attention to the PHP Chinese website!