Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。
完成ADB连接Android测试设备
1.找到Android sdk目录
自动化软件测试交流群:642830685,领取最新软件测试资料大厂面试和Python自动化、接口、框架搭建学习资料!
2.进入sdk/platform-tools目录
3.从命令行进入platform-tools目录
废话不多说,直接先跑一个看成果。
Monkey常用命令:
-p
用于约束限制,用此参数指定一个或者多个包,指定包之后,monkey将只允许启动指定app,如果不指定包,monkey将随机启动系统中的app 。
指定一个应用程序的包,启动该app ,例如
adb shell monkey -p com.example.monkeytest -v 1000
-v
用于指定反馈的信息级别(日志的详细程度),分为三个级别,级别越高,日志越详细。
-s
指定伪随机数生成器的seed值,如果seed相同,则两次monkey 测试产生的事件序列也相同。例如:
adb shell monkey -p com.example.monkeytest -s 35 -v 1000
–throttle(毫秒)
制定每个事件结束后的间隔时间,降低系统压力。(如果不指定系统会尽快的发送事件序列),例如:
adb shell monkey --throttle 300
定制事件
–pct-touch:指定触摸事件的百分比,例:–pct-touch 5% , 其他相关的:
–pct-motion (滑动事件)
–pct-trackball (轨迹球事件)
–pct-nav (导航事件 up/down/left/right)
–pct-majornav (主要导航事件 back key 、 menu key)
–pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)
–pct-appswitch (activity之间的切换)
–pct-anyevent (任意事件)
Monkey 命令小结
monkey 查看所有 monkey 命令
monkey 1000 直接发1000个随机事件
monkey -v 1000 增加Terminal对操作轨迹的显示
monkey --throttle 1000 指定事件之间间隔,当前设置为1000ms
monkey -p com.example.monkeytest 指定要运行的包名
monkey -s 10 指定一个随机事件序列的id,下次再用同样的id去执行,可以复现问题
monkey --pct-touch 100 设置100%执行点击事件,不执行上下滑,旋转等其他操作
monkey --ignore-crashes 忽略异常,继续跑
monkey --ignore-timeouts 忽略超时,继续跑
自动化软件测试交流群:642830685,领取最新软件测试资料大厂面试和Python自动化、接口、框架搭建学习资料!