android 自动化压力测试-monkey 1 实践
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
最近在测试公司手机软件app,抽空研究了下手机自动压力测试-monkey,如下:
步骤1:电脑环境准备:搭建android 开发环境
步骤2:手机环境准备:安装待测试的apk
步骤3:打开cmd,进入adb shell,命令如下:
C:\Users\chenshan>adb shell
shell@hwG750-T20:/ $ monkey -p cn.emoney.acg -v 500 说明:-p :指定被测试apk,主Activity(第一个启动的Activity)所在的包名(我问的开发)
-v :指定测试的次数
运行结果如下:
monkey -p cn.emoney.acg -v 500
:Monkey: seed=1423954039925 count=500
:AllowPackage: cn.emoney.acg
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: 25.0%
// 6: 15.0%
// 7: 2.0%
// 8: 2.0%
// 9: 1.0%
// 10: 13.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=cn.emoney.acg/.SecurityHome;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=cn.emoney.acg/.SecurityHome } in package cn.emoney.a
cg
:Sending Touch (ACTION_DOWN): 0:(636.0,1832.0)
:Sending Touch (ACTION_UP): 0:(614.0191,1819.9386)
:Sending Touch (ACTION_DOWN): 0:(430.0,1614.0)
:Sending Touch (ACTION_UP): 0:(504.59412,1667.4562)
:Sending Touch (ACTION_DOWN): 0:(788.0,534.0)
:Sending Touch (ACTION_UP): 0:(780.03546,539.9423)
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=cn.emoney.acg/.SecurityHome;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=cn.emoney.acg/.SecurityHome } in package cn.emoney.a
cg
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-2.0)
:Sending Touch (ACTION_DOWN): 0:(353.0,238.0)
:Sending Touch (ACTION_UP): 0:(356.59268,215.40685)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-1.0)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,4.0)
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=cn.emoney.acg/.SecurityHome;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=cn.emoney.acg/.SecurityHome } in package cn.emoney.a
cg
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=cn.emoney.acg/.SecurityHome;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=cn.emoney.acg/.SecurityHome } in package cn.emoney.a
cg
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,3.0)
:Sending Touch (ACTION_DOWN): 0:(601.0,152.0)
:Sending Touch (ACTION_UP): 0:(602.1031,156.88362)
:Sending Touch (ACTION_DOWN): 0:(293.0,175.0)
//[calendar_time:2015-02-02 16:12:45.307 system_uptime:115853036]
// Sending event #100
:Sending Touch (ACTION_UP): 0:(291.35492,141.05412)
:Sending Touch (ACTION_DOWN): 0:(243.0,1537.0)
:Sending Touch (ACTION_UP): 0:(251.39348,1530.0)
:Sending Trackball (ACTION_MOVE): 0:(2.0,-5.0)
:Sending Touch (ACTION_DOWN): 0:(616.0,1098.0)
:Sending Touch (ACTION_UP): 0:(623.84454,1098.5345)
:Sending Touch (ACTION_DOWN): 0:(190.0,98.0)
:Sending Touch (ACTION_UP): 0:(188.01633,81.4052)
:Sending Touch (ACTION_DOWN): 0:(643.0,310.0)
:Sending Touch (ACTION_UP): 0:(643.3258,323.91415)
:Sending Touch (ACTION_DOWN): 0:(83.0,355.0)
:Sending Touch (ACTION_UP): 0:(86.26117,355.42242)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,3.0)
:Sending Touch (ACTION_DOWN): 0:(399.0,398.0)
:Sending Touch (ACTION_UP): 0:(425.0628,350.23315)
:Sending Touch (ACTION_DOWN): 0:(26.0,1817.0)
:Sending Touch (ACTION_UP): 0:(6.7867804,1804.3572)
:Sending Touch (ACTION_DOWN): 0:(562.0,1905.0)
:Sending Touch (ACTION_UP): 0:(560.2228,1905.0571)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-1.0)
:Sending Touch (ACTION_DOWN): 0:(11.0,872.0)
:Sending Touch (ACTION_UP): 0:(0.0,856.52124)
:Sending Trackball (ACTION_MOVE): 0:(-4.0,1.0)
//[calendar_time:2015-02-02 16:12:45.498 system_uptime:115853191]
// Sending event #200
:Sending Touch (ACTION_DOWN): 0:(26.0,1246.0)
:Sending Touch (ACTION_UP): 0:(30.53358,1232.7083)
:Sending Touch (ACTION_DOWN): 0:(92.0,761.0)
:Sending Touch (ACTION_UP): 0:(70.751976,747.7252)
:Sending Touch (ACTION_DOWN): 0:(590.0,178.0)
:Sending Touch (ACTION_UP): 0:(629.8198,216.51576)
:Sending Touch (ACTION_DOWN): 0:(481.0,1223.0)
:Sending Touch (ACTION_UP): 0:(459.6905,1218.851)
:Sending Trackball (ACTION_MOVE): 0:(3.0,-4.0)
:Sending Touch (ACTION_DOWN): 0:(559.0,566.0)
:Sending Touch (ACTION_UP): 0:(573.4749,652.7251)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-5.0)
:Sending Touch (ACTION_DOWN): 0:(817.0,221.0)
:Sending Touch (ACTION_UP): 0:(783.61285,232.48059)
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-5.0)
:Sending Trackball (ACTION_UP): 0:(0.0,0.0)
//[calendar_time:2015-02-02 16:12:45.673 system_uptime:115853367]
// Sending event #300
//[calendar_time:2015-02-02 16:12:45.674 system_uptime:115853368]
// Sending event #300
:Sending Trackball (ACTION_MOVE): 0:(-1.0,-5.0)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,4.0)
:Sending Touch (ACTION_DOWN): 0:(877.0,1410.0)
:Sending Touch (ACTION_UP): 0:(804.5438,1399.0889)
:Sending Touch (ACTION_DOWN): 0:(325.0,90.0)
:Sending Touch (ACTION_UP): 0:(251.87192,0.0)
:Sending Touch (ACTION_DOWN): 0:(468.0,1280.0)
:Sending Touch (ACTION_UP): 0:(459.7335,1275.3344)
:Sending Trackball (ACTION_MOVE): 0:(-5.0,-1.0)
:Sending Touch (ACTION_DOWN): 0:(517.0,1616.0)
:Sending Touch (ACTION_UP): 0:(514.9753,1622.0171)
:Sending Trackball (ACTION_MOVE): 0:(0.0,-2.0)
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=cn.emoney.acg/.SecurityHome;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=cn.emoney.acg/.SecurityHome } in package cn.emoney.a
cg
:Sending Touch (ACTION_DOWN): 0:(57.0,1822.0)
:Sending Touch (ACTION_UP): 0:(65.71579,1833.4447)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,-1.0)
:Sending Trackball (ACTION_UP): 0:(0.0,0.0)
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=cn.emoney.acg/.SecurityHome;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=cn.emoney.acg/.SecurityHome } in package cn.emoney.a
cg
:Sending Trackball (ACTION_MOVE): 0:(2.0,-5.0)
//[calendar_time:2015-02-02 16:12:45.942 system_uptime:115853636]
// Sending event #400
:Sending Touch (ACTION_DOWN): 0:(371.0,456.0)
:Sending Touch (ACTION_UP): 0:(322.275,343.40207)
:Sending Touch (ACTION_DOWN): 0:(869.0,778.0)
:Sending Touch (ACTION_UP): 0:(851.1657,778.8365)
:Sending Trackball (ACTION_MOVE): 0:(-3.0,-1.0)
:Sending Touch (ACTION_DOWN): 0:(1073.0,1322.0)
:Sending Touch (ACTION_UP): 0:(1077.2527,1313.2167)
:Sending Touch (ACTION_DOWN): 0:(499.0,1342.0)
:Sending Touch (ACTION_UP): 0:(467.50674,1373.2031)
:Sending Trackball (ACTION_MOVE): 0:(1.0,3.0)
:Sending Trackball (ACTION_MOVE): 0:(1.0,-1.0)
:Sending Touch (ACTION_DOWN): 0:(449.0,157.0)
:Sending Touch (ACTION_UP): 0:(442.57257,163.57645)
:Sending Trackball (ACTION_MOVE): 0:(-2.0,0.0)
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=cn.emoney.acg/.SecurityHome;end
// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=cn.emoney.acg/.SecurityHome } in package cn.emoney.a
cg
:Sending Trackball (ACTION_MOVE): 0:(-2.0,4.0)
Events injected: 500
:Sending rotation degree=0, persist=false
:Dropped: keys=124 pointers=369 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=1037ms (0ms mobile, 1037ms wifi, 0ms not connecte
d)
// Monkey finished
android 自动化压力测试-monkey 1 实践的更多相关文章
- android 自动化压力测试-monkey 2 获取程序包名
monkey 1 中我们写到: C:\Users\chenshan>adb shell shell@hwG750-T20:/ $ monkey -p cn.emoney.acg -v 500 说 ...
- android 自动化压力测试-monkey 3 命令参数
使用monkey help 命令查看命令参数,如下: C:\Users\chenfenping>adb shell monkey -help usage: monkey [-p ALLOWED_ ...
- Android自动化压力测试图解教程——Monkey工具
[置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 ...
- Android自动化压力测试图解教程——Monkey工具 (转)
有时候我们需要对一个软件进行压力测试,检查该软件的性能.如果是人工进行测试的话,效率会低很多,而且会比较枯燥.这时,Android中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作. ...
- Android APP压力测试-Monkey
压力测试-Monkey学习 Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随 ...
- Android自动化压力测试之Monkey Test (三)
Monkey 是什么? Monkey是Google提供的一个用于稳定性与压力测试的命令行工具. Monkey路径: 路径:/System/framework/monkey.jar 启动脚本路径:/sy ...
- Android自动化压力测试快速入门教程(图解)——MonkeyRunner
一.MonkeyRunner测试环境配置(转自) 1. android-sdk 下载地址:http://www.android-doc.com/sdk/index.html 下载完成后,只需要解压就 ...
- Android自动化压力测试之Monkey Test Android常见的错误类型及黑白名单的使用方法(四)
Android常见的错误类型有两种 1.ANR类型 1)在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸) 2)BroadcastReceiver在10秒内没有执行完毕 2.Crash类型 1)异 ...
- Android自动化压力测试之Monkey Test 异常解读(五)
monkey结果分类 monkey结果详细解读 monkey运行log输出后,得读懂日志内容,定位错误 lgo日志顺序输出分别为 测试命令信息.随机事件流(11种事件).异常信息(anr.crash ...
随机推荐
- SQL加、查、改、删、函数
SQL加.查.改.删.函数 USE lianxiGOcreate table student1(code int not null ,name varchar(20),sex char(4),ci ...
- C# 中解决页面刷新后字体等变大问题
来源:http://blog.csdn.net/wcsjsdn/article/details/5109605 我们在.net开发中时常会遇到一个问题,那就是,当点击某个按钮后,调用js语句,当点击& ...
- c#操作Zip压缩文件
SharpZipLib 文件/文件夹压缩 一.ZipFile ZipFile类用于选择文件或文件夹进行压缩生成压缩包. 常用属性: 属性 说明 Count 文件数目(注意是在ComitUpdat之后才 ...
- Maven的HTTP代理设置
http://blog.sina.com.cn/s/blog_4f925fc30102ed3y.html 第一.检测本地网络是否不能直接访问Maven的远程仓库,命令为ping repo1.mav ...
- Android照相机应用
前言 Android在设计架构的时候,采用了mashup(混搭)的设计理念,也就是说一切都是组建,自己写的是组件,别人提供的也是组件,使用的时候只要符合相关协议就可以把他们当作自己的组件.比如系统提供 ...
- thinkphp foreach循环生成二维数组的方法
先做个问题记录,另外下面是做的过程中遇到的一个没想明白的现象 foreach($result as $key => $val ){ $wzList[$key]['lik']=$val[0]; $ ...
- MySQL: ON DUPLICATE KEY UPDATE 用法 避免重复插入数据
INSERT INTO osc_visit_stats(stat_date,type,id,view_count) VALUES (?,?,?,?) ON DUPLICATEKEY UPDATE vi ...
- C++十进制转换为二进制
题目内容:将十进制整数转换成二进制数. 输入描述:输入数据中含有不多于50个的整数n(-231<n<231). 输出描述:对于每个n,以11位的宽度右对齐输入n值,然后输出“-->” ...
- delphi 单引号在字符串中使用方法
可以看delph的帮助,里面有这个问题详细说明:A character string, also called a string literal or string constant, consist ...
- mysql数据库开发规范
对规范的遵守可用二八原则,不要教条.为满足实际需求 可忽视部分规范. 1.索引规范 *目标 |--利用最小的索引成本找到需要的行记录 *原则 |--做前缀匹配 |--选择区分度高的列做前缀索引列 |- ...