Android自动化压力测试之Monkey Test (三)
Monkey 是什么?
Monkey是Google提供的一个用于稳定性与压力测试的命令行工具。
Monkey路径:
路径:/System/framework/monkey.jar
启动脚本路径:/system/bin/monkey
1.首先我们先打开安卓模拟器
2.打开本地cmd命令窗口
3.输入命令查看 模拟器是否有连接上
adb devices ,出现如下图所示说明已连接上
4.然后就可以输入 adb shell 命令 进入monkey的路径下去执行monkey test了
cd /system/framworke/ 成功进入目录,然后再来找下是不是有monkey的jar包
5. 模糊查询含有monkey的命令:ls | grep monkey ,可以看到里面是有monkey.jar包
6.我们再看下启动脚本 cd /system/bin/ 成功进入目录,然后输入命令: ls | grep monkey 找下是不是有monkey 启动脚本
上图可以看出是有monkey的启动脚本的
由此上一节提到的环境变量的配置童鞋们也知道是做什么用的了
配置adb的环境
monkey是由adb命令启动的,所以要配置adb的环境
1.下载 Android SDK,解压
2.将SDK目录下的platform-tools 和 tools目录配置到系统换环境变量中(将变量配置好之后才能安装apk文件)
3.打开cmd窗口,输入adb,有adb帮助信息则配置成功
安装apk文件
首先 将需要进行测试的apk包拷贝到platform-tools 目录下
然后执行安装命令 adb install test.apk
要注意点的一点就是,执行安装命令的时候,需要进入该目录下,我这边的目录是
命令:E:
进入目录下,cd E:\Android\android-sdk\platform-tools
然后执行安装apk命令,出现下图 Success 表示安装成功,右侧的就是模拟器安装成功的app
命令格式:(输入命令之后,模拟器上会运行对应的指定操作)
1.PC 启动
>adb shell monkey [option] <count> "[]"可选参数,可不填,"<>"里面的参数必填,不填会报错
2.shell端启动
> adb shell
>monkey [optinon] <count>
这两种方式有什么不同呢,第一种PC启动,结果可以保存在PC端;第二种手机端启动,结果只能保存在手机。
当然 运行monkey时候的log想要保存出来也是可以的
保存monkey运行的log
1.保存在PC中 adb shell monkey [option] <count> > d:\monkey.txt 例如:adb shell monkey 100 > d:\monkey.txt (运行100次,日志保存在D盘,第2,第3一样的意思,就不举例了)
2.保存在手机中 monkey [option] <count> > /mnt/sdcard/monkey.txt
3.标准流与错误流分开保存
monkey [option] <count> 1> /mnt/sdcard/monkey.txt 2> /mnt/sdcard/error.txt
monkey test的话 首先是需要了解各个参数是干嘛的,各个参数的意义,再进行实践操作
adb shell monkey -help 查看帮助命令
adb shell pm list packages 列出所有apk的包名
下面来进行实操演练
手机端运行
首先进入adb shell
运营对应的apk文件 adb shell monkey -p com.dabai.app.im 100 ( -p 后面接apk包名 然后接次数)
上面红色框中就是报错的提示 运行19次后报错,因为上图没有加日志导出,下面是事件参数,这边就将各种参数导出日志的方法执行一遍
如果在执行过程中,运行次数过多,想要停止monkey的运行,那么就再打开一个cmd命令窗口
先查看出monkey的进程
adb shell ps | find "monkey"
查询出来的结果中 后面有跟着对应的apk包名
那么kill这个进程即可
adb shell kill +进程编号 例如我这边的是:adb shell kill 2189,执行后,就会结束运行了
Monkey事件参数
对应日志中的事件
对应命令(执行的效果的话 童鞋们最好自己执行然后对照着模拟器观察就可以知道效果了)
随机种子 -S
adb shell monkey -p com.dabai.app.im -s 100 -v -v 100 (-S后面的100是随机序列号也就是对应seed编号名称,-V后面的100代表的是运行次数)下次如果还要查看该seed的执行过程,就在-s后面加100即可
固定延时 --throttle<毫秒>
adb shell monkey -p com.dabai.app.im --throttle 200 -v -v 100
随机延时 --randomize-throttle
adb shell monkey -p com.dabai.app.im --throttle 200 --randomize-throttle -v -v 100 (这句话的意思是0-200毫秒的随机延时)
touch 点击事件
adb shell monkey -p com.dabai.app.im --pct-touch 100--throttle 200 --randomize-throttle -v -v 100 (--pct是百分比的简称,touch后面跟的100 意思是 100%的操作都是执行这个touch)
motion 移动事件
adb shell monkey -p com.dabai.app.im --pct-motion 100--throttle 200 --randomize-throttle -v -v 100
trackball 轨迹球事件
adb shell monkey -p com.dabai.app.im --pct-trackball 100--throttle 200 --randomize-throttle -v -v 100
nav 导航时事件(上下左右键的意思)
adb shell monkey -p com.dabai.app.im --pct-nav 100--throttle 200 --randomize-throttle -v -v 100
majornav 主要导航事件
adb shell monkey -p com.dabai.app.im --pct-majornav 100--throttle 200 --randomize-throttle -v -v 100
下面的事件都是同理的执行,还有一个地方就是,所有的导航事件都是可以连用的,只要将百分比设置的不同即可
Android自动化压力测试之Monkey Test (三)的更多相关文章
- 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 ...
- android 自动化压力测试-monkey 1 实践
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey ...
- 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自动化压力测试快速入门教程(图解)——MonkeyRunner
一.MonkeyRunner测试环境配置(转自) 1. android-sdk 下载地址:http://www.android-doc.com/sdk/index.html 下载完成后,只需要解压就 ...
随机推荐
- ACM/ICPC 之 Floyd练习六道(ZOJ2027-POJ2253-POJ2472-POJ1125-POJ1603-POJ2607)
以Floyd解法为主的练习题六道 ZOJ2027-Travelling Fee //可免去一条线路中直接连接两城市的最大旅行费用,求最小总旅行费用 //Time:0Ms Memory:604K #in ...
- 使用iScroll时,input等不能输入内容的解决方法
做移动平台的应用,使用iscroll使屏幕上下滑动.发现当使用iscroll后,input等不能输入内容了.只要在iscroll.js文件中加入如下代码就ok了. function allowForm ...
- modbus协议讲义
Modbus 一个工业上常用的通讯协议.一种通讯约定.Modbus协议包括RTU.ASCII.TCP.其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现.虽然RTU比较简单,但是看 ...
- 【linux】学习6
鸟哥13章的东西 shell script速度较慢,适合用于系统管理,但不适合处理大量数值运算 var=$((运算内容)) 可以用来做变量的加减乘除求余运算 total=$(($firstnum*$s ...
- .NET微信公众号开发-3.0查询自定义菜单
一.前言 前面我们已经创建好了我们的自定义菜单.那么我们现在要如何查询我们自定义的菜单.原理都是一样的,而且都是相当简单,只是接口地址文档换掉了. 2.0开始编码 同样我们首先创建好我的查询页面,在这 ...
- stdafx.h的作用
// stdafx.h : include file for standard system include files,// or project specific include files th ...
- Android RadioButton selector背景
RadioButton selector 背景 <?xml version="1.0" encoding="utf-8"?> <selecto ...
- Hadoop 2.5.2 eclipse plugin 编译 win7 集成
一.hadoop集群环境配置 参考我的前一篇文章(ubuntu + hadoop2.5.2分布式环境配置 http://www.cnblogs.com/huligong1234/p/4136331 ...
- Loadrunner上传与下载文件脚本
一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex("ParamName=imgRan ...
- Nginx反向代理设置 从80端口转向其他端口
[root@localhost bin]# netstat -lnutp Active Internet connections (only servers) Proto Recv-Q Send-Q ...