Monkey 命令
Monkey 命令是一种自动化测试工具,用于模拟用户操作,测试 Android 应用程序的稳定性和可靠性。该命令提供了多种参数选项,用于控制测试过程中的行为和日志输出。
**-p 参数**
-p 参数用于约束限制,指定一个或多个包(Package,即 App)。当指定包时,Monkey 将只允许系统启动指定的 APP。如果不指定包,将允许系统启动设备中的所有 APP。例如:
* 指定一个包:`adb shell monkey -p cn.emoney.acg10`
* 指定多个包:`adb shell monkey -p cn.emoney.acg -p cn.emoney.wea`
* 不指定包:`adb shell monkey 100`
**-v 参数**
-v 参数用于指定反馈信息级别(信息级别就是日志的详细程度),总共分三个级别,分别对应的参数如下表所示:
| 日志级别 | 参数 | 描述 |
| --- | --- | --- |
| Level0 | -v | 仅提供启动提示、测试完成和最终结果等少量信息 |
| Level1 | -v -v | 提供较为详细的日志,包括每个发送到 Activity 的事件信息 |
| Level2 | -v -v -v | 最详细的日志,包括了测试中选中/未选中的 Activity 信息 |
例如:
* `adb shell monkey -p cn.emoney.acg -v 100`
* `adb shell monkey -p cn.emoney.acg -v -v 100`
* `adb shell monkey -p cn.emoney.acg -v -v -v 100`
**-s 参数**
-s 参数用于指定伪随机数生成器的 seed 值,如果 seed 相同,则两次 Monkey 测试所产生的事件序列也相同的。例如:
* Monkey 测试 1:`adb shell monkey -p cn.emoney.acg -s 10100`
* Monkey 测试 2:`adb shell monkey -p cn.emoney.acg -s 10100`
由于 seed 值相同,两次测试的效果是相同的,因为模拟的用户操作序列是一样的。
**--throttle 参数**
--throttle 参数用于指定用户操作(即事件)间的时延,单位是毫秒。例如:
`adb shell monkey -p cn.emoney.acg --throttle 5000 1005`
**--ignore-crashes 参数**
--ignore-crashes 参数用于指定当应用程序崩溃时(Force&Close 错误),Monkey 是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey 依然会发送事件,直到事件计数完成。例如:
`adb shell monkey -p cn.emoney.acg --ignore-crashes 1000`
在测试过程中,即使 acg 程序崩溃,Monkey 也会继续发送事件,直到事件计数完成。
Monkey 命令提供了多种参数选项,用于控制测试过程中的行为和日志输出,可以根据实际需求选择适合的参数组合,进行自动化测试。