08-adb命令之monkey压测

简介: 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

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


相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
4月前
|
编解码 Shell Android开发
『移动端测试必备』ADB常用命令和使用
『移动端测试必备』ADB常用命令和使用
83 2
|
Shell Android开发 开发者
adb简介及常用命令总结
adb(Android Debug Bridge),安卓平台调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、查看设备软硬件参数、系统升级、运行shell命令等。 简单总结主要功能有: 1、运行设备的shell(命令行) 2、管理模拟器 3、计算机和设备之间上传/下载文件 4、将本地apk软件安装至模拟器或android设备
1462 0
|
25天前
|
编解码 Android开发
常用adb命令
常用adb命令
55 2
|
8月前
|
Shell Linux 开发工具
adb--常用命令
adb--常用命令
|
9月前
|
Shell
07-adb命令之更多adb shell使用
07-adb命令之更多adb shell使用
|
9月前
|
Shell 数据安全/隐私保护
06-adb命令之实用功能
06-adb命令之实用功能
|
9月前
|
编解码 Shell 开发工具
05-adb命令之查看设备信息
05-adb命令之查看设备信息
|
9月前
|
Shell Linux Android开发
04-adb命令之查看日志
04-adb命令之查看日志
|
9月前
|
Shell
03-adb命令之模拟按键/输入
03-adb命令之模拟按键/输入
|
9月前
|
缓存 Shell Linux
02-adb命令之应用管理
02-adb命令之应用管理