Monkey指令学习笔记(2020-09-25)

本文详细介绍了Monkey测试工具的多种指令,包括设置事件延迟、指定应用、触屏、滑动、导航等事件的百分比,以及如何处理异常和生成性能报告。通过示例展示了如何结合使用这些参数进行应用的稳定性测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Monkey 指令学习笔记

“-s”
  • 作用:用于指定伪随机生成器的Seed值,Seed值相同那么两次Monkey测试所产生的事件序列也相同
  • 细节:每次测试完之后将记录使用的命令用管道命令保存输出结果到文件中,让命令和执行结果一一对应;然后设计一个Excel表格对其进行管理。

1、命令:“adb shell monkey -v -v -v -p com.android.xxx 100(这里100是Seed值)> D:\Monkey_Results\xxx.text”
2、执行完命令后后在文件夹下看见一个文本文件,这个文件内容就是Monkey的执行输出结果信息

“-p”
  • 可以指定针对一个应用/多个应用进行稳定性方面的测试

获取包名方法如截图所示:
在这里插入图片描述

“–throttle”

  • 设置事件之间的延时,可以避免部分问题来不及截屏/录屏就切过的情况

例子:adb shell monkey -p com.android.xxx–throttle 3000(3s的意思) 100

“–pct-touch/motion/trackball < percent >”

  • touch:用与设置触屏时间生成的百分比(触屏时间是一个有手指按下、抬起事件的手势)

例子:adb shell monkey --pct-touch 50(占比50%) -p com.android.xxx–throttle 3000(3s的意思) 100

  • motion:设定滑动事件生成的百分比,滑动事件说一个先在某一个位置手指按下,滑动一段距离后再抬起手指的收拾。

例子:adb shell monkey --pct-motion 50(占比50%) -p com.android.xxx–throttle 3000(3s的意思) 100

  • trackball:设定轨迹球事件生成的百分比,轨迹球事件是包含一系列随机移动和单机事件的事件

例子:adb shell monkey --pct-trackball 50 -p com.android.xxx–throttle 3000 100

“–pct-majornav < percent >”

  • 用于设定主要导航事件的百分比,主要导航事件通常会导致UI产生回馈事件

例子:adb shell monkey --pct-majornav 50 -p com.android.xxx–throttle 3000 100

“–pct-syskeys < percent >”

  • 用于设定系统按键事件的百分比,系统按键是指这些按键通常被保留,由系统使用,如 Home、Back、拨号、挂断以及音量键控制键

例子:adb shell monkey --pct-syskeys 50 -p com.android.xxx–throttle 3000 100

“–pct-appswitch < percent >”

  • 用于设定启动活动事件的百分比。在随机的一定间隔后,Monkey会执行一个startActivity ()函数尽可能覆盖包中全部活动。

例子:adb shell monkey --pct-appswitch 50 -p com.android.xxx–throttle 3000 100

“–pct-anyevent < percent >”

  • 用于设定其他类型事件的占比,比如普通按键消息、不常用的设备按钮事件

例子:adb shell monkey --pct-anyevent 50 -p com.android.xxx–throttle 3000 100

“–hprof”

  • 指定该参数,Monkey会在发送事件序列的前后生成性能分析报告。通常会在“data/misc”目录下生成一个5MB左右大小的文件

“–ignore-crashes”

  • 指定该参数,Monkey会在产生异常后继续向系统发送事件,直到指定的时间信息全部完成为止

例子:adb shell monkey -p com.android.xxx --ignore-crashes 100

“–ignore-timeouts”

  • 程序发生任何超时错误时,Monkey将停止运行。指定了改参数后Monkey会在产生错误信息后继续向系统发送事件,直到指定事件信息全部完成为止

例子:adb shell monkey -p com.android.xxx --ignore-timeouts 100

“–ignore-security-exceptions”

  • 用于指定当应用程序发生许可错误时,Monkey是否停止运行。如果指定了当前参数,即使应用程序发生许可错误,Monkey仍然会发送事件,直到指定事件信息全部完成为止

例子:adb shell monkey -p com.android.xxx --ignore-security-exceptions 100

“–kill-process-after-error”

  • Monkey正常执行完毕后不会关闭所启动的应用,设备依然保留其最后接收到的消息状态,所以建议用户在执行命令以后为保持应用程序的初始状态,需手动/脚本程序将已经打开的应用进行关闭

“–monitor-native-crashes”

  • 监视并报告Android系统中本地代码的崩溃事件,静止在报错页面

“–wait-dbg”

  • 启动Monkey后先中断其运行并等待调试器和它相连接

“综合示例”

例子:adb shell monkey --ignore-crashes --ignore-timeouts --kill-process-after-erroe --ignore-security-exceptions --throttle 1000 -v -v -v -s 5 10000
解释:向系统发送10000次随机事件,各个随机事件的时间间隔为1s,种子为5,测试过程忽略相关的安全、超时、崩溃等异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值