Monkey测试指令的参考资料

参考文章:

https://zhuanlan.zhihu.com/p/97335363

示例:

monkey -p 包名  --pct-syskeys 0 --pct-touch 20 --pct-pinchzoom 30 --pct-motion 15 --pct-appswitch 30 --throttle 500 -v -v -v  --ignore-crashes --ignore-timeouts  1000000 >/sdcard/monkey.log

解释:在“包名”下进行测试,模拟的事件占比(触摸事件20% 缩放事件30% 手势事件15% Activity切换事件30%),事件操作间隔为500ms,忽略crash崩溃和ANR情况(应用崩溃或者ANR发生时测试不中断),测试的事件总次数为1000000,日志保存在/sdcard/monkey.log。

如果报错“SYS_KEYS has no physical keys but with factor”,需要配置:--pct-syskeys 0

一个完整的monkey指令可以由上述三个部分组成:基础参数、发送事件的类型比例、调试选项。

一、基础参数介绍:

-p:包名

-v:日志级别(-v 第一级别; -v -v第二级别;-v –v –v 第三级别)

    第一级别:level0,缺省值,仅提供启动提示、测试完成和最终结果等少量信息;

    第二级别:level1,提供提供较为详细的日志,包括每个发送到Activity的信息;

    第三级别:level2,提供更详细的日志,包括了测试中选中/未选中的Activity信息.

-throttle :单位毫秒,代表用户操作的时间间隔(时延)

-s:随机数种子,s相同两次测试生成的测试时序也相同,多用于问题复现

二、发送事件的类型比例

注意:事件类型配置的数值和不要超过100。

一共11种类型,使用方式:--pct-类型名 比例数值  (若不写比例数值,则整体随机进行)

1、touch:触摸,在屏幕某处按下再抬起

2、motion:手势,在屏幕某处的按下、随机移动、抬起的操作(划动)

3、pinchzoom:二指缩放,在屏幕上某处放大缩小事件,如地图的测试,这类事件较多

4、trackball:轨迹,模拟的轨迹球的操作,早期手机较多,现在的手机几乎都没有轨迹球,但轨迹球事件中包含曲线滑动操作,如果被测程序需要曲线滑动时可以选用此参数

5、rotation:旋转,屏幕旋转事件是一个隐藏事件,它是模拟屏幕的横屏和竖屏转换

6、nav:基本导航,点击方向输入设备的上、下、左、右按键的操作,现在手机多数没有上下左右的操作,这类事件很少

7、majornav:主要导航事件,击“主要导航”按键的操作,这些按键通常会导致UI界面中的动作,如键盘回退,菜单,中间键等

8、syskeys:系统按键,点击系统保留使用的按键的操作,如点击Home键、返回键、音量调节键等

9、appswitch:启动activity,在手机上启动一个Activity的操作,即打开某个应用的某个activity界面

10、flip:键盘,一些与键盘相关的操作,如点击输入框、键盘弹起、键盘收回等

11、anyevent:除以上事件以外的其它事件,比如按键、其他不常用的设备上的按钮等

三、调试选项

为了保证测试能长期进行(monkey只可配置测试次数,时长可以多试几次大概评估出来),需要增加调试参数,避免测试中断,可多个参数一起使用。

  1. --ignore-crashes 指即使应用程序崩溃,Monkey依然会发送事件,直到事件计数达到指定的次数为止
  2. --ignore-security-exceptions 指APP发生许可证书错误时,Monkey依然继续发送事件,直到事件数目达到目标值为止
  3. --ignore-timeouts 指app发生ANR错误,Monkey依然会发送事件,直到事件计数完成
  4. --kill-process-after-error 指APP发生错误时,应用程序停止运行并保持在当前状态,不会杀死应用程序的进程

------------------------------------------------------------------

最后,把monkey指令放在xshell中运行就可以了。最近使用monkey进行了应用内存占用情况的测试,确认有内存泄露的趋势。monkey日志分析未实操,可根据参考文章进行学习。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值