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 ...
随机推荐
- 华为OJ-合唱队
华为OJ-初级题-合唱队 思路与分析 本题可以用DP的方法,分别从正向和逆向的两个方向求,该数组即186 186 150 200 160 130 197 200的上升对大序列.正向为[1, 1, 1, ...
- Uva 1588 Kickdown
这道题思路并不难想,在做题过程中主要遇到的困难有: 因为没有仔细的考虑边界情况,没有分析全面,导致因=没有取到而得不出正确结果,浪费的大量时间. 今后在做这类题目时,一定要先进行一个比较全面的分析+模 ...
- jQuery类级别插件--返回顶部,底部,去到任何部位
先引入js:<script type="text/javascript" src="jquery.js" ></script><s ...
- spring(spring boot)笔记
1.查看数据库连接:org.springframework.boot.autoconfigure.jdbc里的public DataSource dataSource() 方法.在这里打断点,可以查看 ...
- 通过Messenger与后台连接(单向操作,activity向service发送数据)
xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- js8月-4号,,思想
1.js使用观察者模式,做异步编程.面向事件编程. 2.事件执行 (1)用户触发事件(2)定时执行 作业:选项卡,导航栏.
- delphi函数调用约定
指令 参数存放位置 参数传递顺序 参数内存管理 使用地方 Register CPU寄存器 从左到右 被调用者 默认,published属性存取方法必须使用 Pascal 栈 从左到右 被调用者 向后兼 ...
- django-url调度器-初级篇
Django 遵从 MVC 模型,并将其特色化为 MTV 模型.模型的核心是通过用户访问的 url 来指向处理的函数,而函数处理后返回相应的结果.所以url决定了用户访问的入口,另外表单处理的提交地址 ...
- 转载: android 学习架构
http://www.cnblogs.com/forlina/archive/2011/06/29/2093332.html 引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWor ...
- 生产库MySQL配置文件my.cnf详解
OS:CentOS6.3 DB:5.6.16 [client] #客户端port = 3306 #数据库端口3306socket = /my/log/mysql.sock #MySQL套接字,多实例下 ...