基于Monkey的稳定性测试

1、Monkey介绍

Monkey命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自定义发送的次数,检测被测应用程序的稳定性和可靠性。
Monkey程序由Android 系统自带,使用java语言编写。
Monkey的事件非常广泛,除了对于被测APP的点击、滑动、键盘输入等操作外,它还大量模拟各种手机系统操作,如调整音量、打开通知栏、改变网络状态、锁屏等操作

主要目的 测试app 是否会是否会Crash

2、参数

-p: 指定一个或多个包名APP包名

-v: 操作日志记录,命令行的每一个-v将增加反馈信息的级别。

    • -v:Level 0(缺省值)除 启动提示、测试完成和最终结果之外,提供较少信息。
    • -v -v :Level 1提供较为详细的测试信息,如逐个发送到Activity的 事件。
    • -v -v -v :Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity

COUNT:发送事件的数目

--throttle ms : 每个事件之间设定一个固定的延迟,通过这个选项可以减缓Monkey的执行速度

        --pct-touch [PERCENT]: 设定点击事件的百分比。一般情况下,点击事件的比例要最高

--pct-montion [PERCENT]: 设定“滑动事件”的百分比

3、示例

1、启动指定APP,并向其发送100个伪随机事件,操作的日志位置 d:\android\monkey\log.txt

adb shell monkey –p com.youdao.calculator –v 100 > d:\android\monkey\log.txt

2、启动指定APP,并向其发送100个事件,其中点击事件占70%,滑动事件占30%

adb shell monkey –p com.youdao.calculator –vvv 100 –pct-touch 70 --pct-montion30 --throttle 1000 > d:\android\monkey\log1.txt

4、日志分析

测试结果:

(1)ANR问题(程序无响应):在日志中搜索“ANR"(Application Not Response)

(2)闪退问题:在日志中搜索"Crash"

(3)异常:搜索"Exception"

(4)强制退出:搜索"Force Closed"

posted @ 2022-03-16 18:06  萧兮易  阅读(79)  评论(0编辑  收藏  举报