一、Monkey压力测试的原理1. adb shell monkey的运行机制
实际上是执行手机中/system/bin/monkey这个脚本;
2. Monkey事件注入机制Monkey注入系统事件是通过 framework 层的 hidenApi (如:activemanager,inputmanager,windowmanager) 获取系统服务 。
Monkey中有11种事件 , 这些事件在MonkeyEventSource中对事件之间的比例进行设置 。
Monkey事件根据类型比例生成事件队列 , 循环查找事件 。
a.触摸事件(inputmanager):包括屏幕以及物理键的触摸 , 滑动 , 点击事件
b.Activity事件(activemanager):是指我们调用Android系统组件的事件 。
c.Window事件(windowmanager):是指操作Window的事件 , 例如转屏
3.Monkey核心类
a. Monkey.JAVA, 程序的入口 , 根据参数选择合适的MonkeyEventSource , 并适时触发MonkeyEvent;
b. MonkeyEventSource.java,MonkeyEvent的工厂 , 是一个接口;
c. MonkeyEvent.java , 各种事件的具体实现 。
二、查找手机上的安装包包名1.adb shell pm list package 查看手机上所有的安装包
2.adb shell pm list package -3 查看第三方安装包
文章插图
3.adb shell pm list packages -s 查看系统的包
4.adb shell pm list packages -e “要搜索的内容” 查看启动包中搜索的包
文章插图
5.adb shell dumpsys window | findstr mCurrentFocus 后面的是当前启动的acivity):获取当前打开的App包名(前面的为包名 , 斜杠
文章插图
三、Monkey 命令基本参数的介绍注意:所有的参数都需要放在monkey和设置的次数之间 , 参数的顺序可以调整;若带了-p , -p必须放在monkey之后 , 参数必须在-p和count之间:
【软件测试教程:monkey压力测试】adb shell monkey -p 包名 --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v –s 1540475754297 100
1.-p , 此命令用于指定包 , 若不指定则在整个系统中执行
a.指定一个包执行10次:adb shell monkey -p包名 10 , 如下出现事件执行次数和所耗时间 , 则算是执行成功;
文章插图
b.指定多个包执行10次:adb shell monkey -p 包名–p包名10 ,
文章插图
2.-v , 用于反馈日志的详细程度级别
Level 0:adb shell monkey -p 包名 -v 10// 默认级别 , 仅提供启动、测试完成和最终结果等少量信息
Level 1:adb shell monkey -p包名 -v-v 10// 提供较为详细的日志 , 包括每个发送到Activity的事件信息
Level 2:adb shell monkey -p包名 -v-v-v 10 // 提供最详细的日志 , 包括了测试中选中/未选中的Activity信息
3.-s , 用于指定伪随机数生成器的seed值
命令:adb shell monkey -p 包名 –s seed值 执行次数
如果seed值相同 , 则两次Monkey测试所产生的事件序列也相同的 , 示例:
测试1:adb shell monkey -pcom.kugou.android –s 1540475754297 100
测试2:adb shell monkey -pcom.kugou.android –s 1540475754297 100
4.--throttle , 用于指定用户事件的操作间隔时延 , 单位是毫秒如果不指定这个参数 , monkey会尽可能快的生成和发送消息
命令:adb shell monkey -p包名 --throttle 3000 100
5.--ignore-timeouts , 忽略超时错误
6.--ignore-crashes , 忽略crash
7.--ignore-security-exceptions 忽略许可错误
8.--monitor-native-crashes , 用于指定是否监视并报告应用程序发生崩溃的本地代码
9.--pct-touch , 触摸事件
命令:adb shell monkey -p 包名 -v -v -v --pct-touch 100 20 //执行20次100%都为触摸事件这里触摸事件为100% , 则没有其他事件
文章插图
10.指定日志存放目录:
a、存放在电脑上(如下指定为D目录下命名为AAlog.txt , 为了方便查找 , 然后就去电脑上该目录下查找 , 当设置路径后 , 日志将不会在命令行窗口上显示出来)
推荐阅读
- 如何安装解码器 会声会影2020图文教程
- IntelliJ IDEA 全网最全入门到实战教程,拿去学习
- 软件测试|3面支付宝!一个从业4年软件测试工程师面试结束后想说的
- 惠普台式电脑怎么重装系统,惠普台式电脑重装系统详细教程
- Android Monkey压力稳定性测试
- dos命令图文教程,cls清除屏幕,ver显示版本,vol显示卷标
- WIN10安装教程,装WIN10系统详细教程,通过PE安装原版微软WIN10
- 《MySQL 教程》JOIN 表连接
- 实用教程#怎么设置家庭wifi路由器?
- dos命令cd图文教程,改变当前目录路径chdir命令,bat批处理脚本