08-adb命令之monkey压测

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
性能测试 PTS,5000VUM额度
日志服务 SLS,月写入数据量 50GB 1个月
简介: 08-adb命令之monkey压测

前言

  • 通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常;主要用于Android 的压力测试  自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash

Monkey参数概览

Monkey参数详解

  基础参数

  -p <允许的包名列表>  

  • 格式:adb shell monkey -p com.taobao.taobao 1000 :package的缩写,后面跟包名    1000 表示随机事件次数
  • 指定多个包:adb shell monkey -p com.taobao.taobao -p com.wkscuiphone 1000

  -v 日志级别

  • 格式:adb shell monkey -p com.taobao.taobao -v 1000

   日志级别说明:

  • -v   仅提供启动提示、测试完成和最终结果等少量信息
  • -v  -v  提供较为详细的日志,包括每个发送到Activity的事件信息;
  • -v -v -v:最详细的日志,包括了测试中选中/未选中的Activity信息

   -s(随机数种子)

  • 说明:随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的,便于复现问题
  • 格式:adb shell monkey -p com.taobao.taobao –s 10 1000:执行两次,最后停留在同样的页面

   --throttle <毫秒>

  • 说明:用于定用户操作(即事件)间的时延,单位是毫秒
  • 格式:adb shell monkey -p com.taobao.taobao --throttle 2000 1000

  事件类型

  • adb shell monkey -p com.taobao.taobao --pct-touch 50 -v 1000 :指定touch事件占比50%
  • adb shell monkey -p com.taobao.taobao --pct-touch 50 --pct-nav 10 -v 1000 :指定touch事件占比50%   nav 事件 10%

  参数对应说明:

  • 0:--pct-touch   触摸事件,指在屏幕某处按下并抬起的操作  
  • 1:--pct-motion  手势事件,指在屏幕某处的按下、随机移动、抬起的操作,即直线滑动操作
  • 2:--pct-pinchzoom 二指缩放事件,指在屏幕上的两处同时按下,并同时移动,最后同时抬起的操作,即智能机上的放大缩小手势操作
  • 3:--pct-trackball  轨迹事件,由一个或多个随机的移动组成的,有时会伴随着点击。很早之前的Android手机带有轨迹球,这个事件就是模拟的轨迹球的操作。现在的手机几乎都没有轨迹球,但轨迹球事件中包含曲线滑动操作,如果被测程序需要曲线滑动时可以选用此参数
  • 4: --pct-rotation  屏幕旋转事件,模拟的Android手机的横屏和竖屏切换,degree表示的是旋转方向,顺时针旋转,0表示旋转90度的方向,1表示旋转180度的方向,2表示旋转270度的方向,3表示旋转360度的方向

  • 5:--permission,未查到相关资料,欢迎补充
  • 6:--pct-nav  基本导航事件,指点击方向输入设备的上、下、左、右按键的操作,一般使用较少
  • 7:--pct-majornav   主要导航事件,指点击“主要导航”按键的操作,这些按键通常会导致UI界面中的动作,如键盘的中间键、回退按键、菜单按键
  • 8:--pct-syskeys  系统按键事件,点击系统保留使用的按键的操作,如点击Home键、返回键、音量调节键等
  • 9:--pct-appswitch  启动Activity事件,指在手机上启动一个Activity的操作
  • 10:--pct-flip  键盘事件,主要是一些与键盘相关的操作。比如点击输入框、键盘弹起、点击输入框以外区域、键盘收回等。
  • 11:--pct-anyevent  其他事件类型,除前面提到的10种事件外其他所有的事件,如按键、其他不常用的设备上的按钮等。可通过--pct-anyevent参数来配置其事件百分比

 

  调试选项

  • --ignore-crashes 忽略崩溃和异常
  • --ignore-timeouts 忽略超时

使用示例

adb shell monkey –p com.taobao.taobao -v -v -v -s 100 --throttle 300 --pct-touch 35 --pct-motion 41 --pct-syskeys 2 --pct-appswitch 20 --pct-anyevent 2 --ignore-security-exceptions --ignore-crashes --ignore-timeouts 1000000 > monkey_log.txt

   把保存下来的日志拿去给开发吧,哈哈哈~


相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
编解码 Shell Android开发
『移动端测试必备』ADB常用命令和使用
『移动端测试必备』ADB常用命令和使用
337 2
|
3月前
|
Shell
|
5月前
|
Shell 数据安全/隐私保护
Ansible Ad-hoc,命令执行模块
Ansible Ad-hoc,命令执行模块
50 1
|
5月前
|
编解码
【超级实用的一些adb命令】
【超级实用的一些adb命令】
69 0
|
6月前
|
数据采集 人工智能 文字识别
ADB命令来捕获设备屏幕快照和发送鼠标事件来实现抓取公众号文章
ADB命令来捕获设备屏幕快照和发送鼠标事件来实现抓取公众号文章。解决方案: 1.通过ADB命令来捕获设备屏幕快照,传递给电脑并且保存在本地文件; 2.通过百度飞桨ocr解析图片获取内容并保存; 3.根据解析的内容和坐标,向手机发送鼠标事件(点击和上下,左右滑动)来控制页面的跳转。
106 1
|
7月前
|
Shell
常用 adb 命令
常用 adb 命令
145 2
|
7月前
|
Java Android开发
Android 对adb命令的拦截
Android 对adb命令的拦截
97 2
|
7月前
|
存储 编解码 Shell
|
7月前
|
安全 Java Shell
Android13 adb input 调试命令使用和源码解析
Android13 adb input 调试命令使用和源码解析
885 0
|
7月前
|
编解码 Android开发
常用adb命令
常用adb命令
113 2