安卓App压力测试
来源:互联网 发布:2017年冷链物流数据 编辑:程序博客网 时间:2024/04/30 20:37
Monkey是安卓开发工具包SDK自带的一个命令行工具,可用于安卓App的压力测试,其原理是通过命令行向手机发送随机事件的指令,随机事件包括点击,划屏和输入等操作,这些操作都是随机不可控的,可控的是需要操作的App,每次操作间隔的时间以及随机事件的次数等。
Monkey的使用步骤是:
- 安卓手机装好待测App,跟电脑连接,或者从SDK中打开安卓模拟器
- 打开命令行,输入adb start-server开启adb服务
- 输入adb devices测试手机连接是否正常
- 输入adb shell进入手机shell界面
- monkey -p {App包名} {次数}
第5步就是调用monkey命令对安卓App进行压力测试。
例如:monkey -p com.tencent.mobileqq 100
即对包名为com.tencent.mobileqq的App发送100次随机事件的命令,发送完成后手机会自动运行该App并进行一系列随机操作。
Monkey命令的扩展:
monkey命令还可以带其它参数,如–throttle 150,这个参数表示每个随机事件之间的间隔时间为150毫秒。
monkey -p com.tencent.mobileqq –throttle 150 100
表示一百个随机事件,每个事件间隔时间150毫秒
还可以设置输出的log的级别,使用参数 -v 10,如果没有调用这个参数,默认是-v 0,也就是说除了启动App,提示测试完成和最终结果,没有其它详细信息了,这里不利于App崩溃原因的追踪。数值越大,log也就越详细。
monkey -p com.tencent.mobileqq -v 10 100
如果想把运行的log保存到本地,可以不需要进入到shell界面中,直接用adb命令连起来写,例如:
adb shell monkey -p com.tencent.mobileqq 100 > c:\monkey\test.txt
查看该路径下面的文件
查看txt文本文件
一般来说,我们可以一次发送5万次随机事件的请求,每个请求之间间隔150毫秒,完成这个测试大概需要40分钟左右,完成以后就可以在设置的本地路径下面找到报告的文本文件,若出现App崩溃的问题,会有详细的log记录。
这里表示腾讯QQ在执行第9061次时间的时候发生了崩溃,我们只需要向App开发组提供这份log就可以去跟踪崩溃的原因了。
综上,我们做安卓压力测试的一个完整命令是
adb shell monkey -p com.tencent.mobileqq -v 10 –throttle 150 50000 > c:\monkey\test.txt
另外有一个小彩蛋,在执行这个命令的时候,由于安卓手机可以下来打开通知栏,因手机的不同,播放音乐也会在通知栏里面,很可能会点到播放音乐,所以采用真机测试的时候,将手机调为振动或者无声吧,如果想制作气氛并且把放歌的责任推卸到monkey身上,请无视上面的建议。
还有其它的参数,比如设置点击屏幕,home键,back键,音量键,划屏和输入这些操作的比例,也可以实现,因为使用不太多,这里就不详细介绍了。
- 安卓App压力测试
- 安卓压力测试
- 安卓App压力测试 - Monkey的使用
- Java实现安卓压力测试
- APP压力测试入门教程
- APP压力测试入门教程
- 安卓App遍历测试
- APP 压力测试脚本举例
- APP 压力测试脚本举例
- Android APP压力测试-Monkey
- Android APP压力测试-Monkey
- app monkey压力测试流程
- Android App压力测试入门
- Android App专项测试-压力测试笔记
- Android App专项测试-压力测试
- Android App专项测试-压力测试篇
- Android App专项测试(压力测试)
- Android App 专项测试 Monkey 压力测试
- 69 linux i2c设备驱动之ft5306电容触控芯片驱动
- bug*** Terminating app due to uncaught exception ‘NSGenericException’, reason: ‘*** Collection <__NS
- 30-31内省访问JavaBean属性的两种方法
- 装饰者模式
- 32 使用BeanUtils工具包操作JavaBean
- 安卓App压力测试
- PAT乙级1021. 个位数统计 (15)
- 快速查看表对的就说明,及表字段描述及字段类型
- 解决:本地计算机 上的 OracleOraDb10g_home1TNSListener服务启动后停止······
- 数位dp
- 33了解和入门注解的应用34 注解的定义与反射调用35为注解增加各种属性
- BZOJ 4443 小凸玩矩阵 (网络流 dinic 二分)
- 36 入门泛型的基本应用37 泛型的内部原理及更深应用
- 从客户端(content="<p>bb</p>")中检测到有潜在危险的 Request.Form 值。