六、Monkey测试
  ZthAPZf2KLLA 2023年11月02日 48 0

一、什么是monkey

Monkey 是 Google 提供的一个用于 稳定性与压力测试 的命令行工具

二、为什么要做压力测试

  • 随机性
  • 完整性
  • 持续性

三、命令使用介绍

monkey 命令格式

adb shell --help
adb shell monkey [参数] {随机发送事件数}

基本用法

  • 在命令提示符中输入adb devices 查看有无连接的设备
  • 确认有设备连接
  • 获取 app 的包名
  • 执行命令:adb shell monkey [参数] {随机发送事件数}

Monkey 命令1 - 添加事件数

adb shell monkey <事件数>

monkey 打印详细日志

adb shell monkey -v <事件数>
adb shell monkey -vv <事件数>
adb shell monkey -vvv <事件数>   ----打印最详细日志

monkey 测试停止条件

  • 1、指令执行完成
  • 2、遇到崩溃,或者异常
  • 3、杀掉进程
adb shell
ps | findstr monkey  -----查找monkey进程
kill  -9    -------进程号

monkey 运行某个包

  • 指定一个包 adb shell monkey -p 包名 [数件数]
  • 指定多个包 adb shell monkey -p 包名 -p 包名 [事件数]

指定事件时间间隔

格式:--throttle <milliseconds>:每个事件结束后的间隔时间
adb shell monkey -p 包名 --throttle 时长(毫秒)


设置种子数

格式:-s  <seednumber>:用于指定伪随机数生成器的seed(种子)值
adb shell monkey -p 包名 --throttle 事件间隔时长(毫秒) -s 种子号 -vvv 事件数

根据上次的运行结果,拿到种子,然后再次执行,可以再现上次运行

设置事件比例

--pct-touch:触摸事件 (  设定点击事件百分比)
--pct-motion :滑动事件(设定动作事件百分比  )
--pct-trackball :轨迹球事件(  设定轨迹球事件百分比 )
--pct-nav :导航事件( 设定基本导航事件百分比,比如输入设备上、下、左、右键 )
--pct-majornav:主要导航事件( 设定主要导航事件百分比,比如中间键、返回键、菜单键 )
--pct-syskeys:系统按键事件( 设定系统导航事件百分比,比如HOME键、BACK建、拨号键及音量键 )
--pct-appswitch:activity之间的切换(  设定启动Activity事件百分比)
--pct-pinchzoom:缩放事件
--pct-rotation:屏幕旋转事件
--pct-flip:键盘事件
--pct-anyevent :任意事件 (设定不常用事件百分比)
adb shell monkey -p 包名 --pct-touch 80 --pct-motion 20 --throttle 1000 -vvv 200

忽略异常

--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--dbg-no-events:初始化启动的activity,但是不产生任何事件
--hprof:指定该项后在事件序列发送前后会立即生成分析报告 
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:直到连接了调试器才执行monkey测试
–bugreport:当ANR,系统无响应,Crash的时候获得bugreport
adb shell monkey -p 包名 --pct-touch 80 --pct-motion 20 --throttle 1000 --ignore-crashes -vvv 200

保存日志

方式一: adb shell monkey 1000> 文件路径/文件名

方式二: adb logcat -v time '*E' > monkey.log 过滤保存Error级别的日志到本地文本


技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!

开源库地址,欢迎Star点亮:

GitHub:https://github.com/ITMingliang

Gitee:   https://gitee.com/mingliang_it

GitLab: https://gitlab.com/ITMingliang


建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。

六、Monkey测试_Monkey

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
ZthAPZf2KLLA
最新推荐 更多