http://v.youku.com/v_show/id_XODcyMjM1MDA4.html
下载直接解压链接: https://pan.baidu.com/s/1dEYso4D 密码: purg
把...sdk\platform-tools添加到系统变量。
32位的
64位的可以下载解压再自己安装各种包
参考:http://blog.csdn.net/dr_neo/article/details/49870587
http://www.androiddevtools.cn/#
安装文件:链接: https://pan.baidu.com/s/1mikVmn2 密码: vf8c
变量配置:
新建 ANDROID_SDK_HOME
值 D:\android\android-sdk(根据自己的安装目录)
然后就是在系统的Path变量后,追加;% ANDROID_SDK_HOME%\platform-tools;% ANDROID_SDK_HOME%\tools
也可下载安装过各种包的zip
1 安卓手机USB连接电脑---命令行abd shell 看看是否连接成功---如不成功安装豌豆荚之类的。
2 ls 查看所有文件
cd systerm 进入系统文件
进入bin文件夹里面就有monkey文件了
3 monkey命令启动方式
3.1 pc cmd --- adb monkey 参数
3.2 安卓手机上直接执行monkey命令
压力测试参数 adb shell monkey -p com.htc.Weather 100
adb shell monkey -p com.kuaibao.kuaidi 100
-s 随机数种子
-throttle 间隔(毫秒) 如 -throttle 1000 即一秒
-p 指定一个或多个包
命令
.. 返回上级目录
ls 查看当前下全部文件
cd system 进入当前路径下的system文件
adb shell 连接查看
adb shell monkey -help 查看帮助文档
1 -p 用此参数指定一个或多个包
指定一个包 adb shell monkey -p com.htc.Weather 100
指定多个包 adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100
不指定包(对所有包进行测试)adb shell monkey 100
注:最后边的100是事件计数(即让Monkey程序模拟100次随机用户事件)
要查看设备中所有的包,在CMD窗口中执行以下命令:
>adb shell
#cddata/data
#ls
2 -v 定反馈信息级别(信息级别就是日志的详细程度)
例子: adb shellmonkey -p com.htc.Weather –v -v 100
-v 日志(略) 仅提供启动提示、测试完成和最终结果等少量信息
-v -v 日志(中) 提供较为详细的日志,包括每个发送到Activity的事件信息
-v -v -v 日志(详细) 最详细的日志,包括了测试中选中/未选中的Activity信息
3 -s 指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的
如:
Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100
Monkey 测试2:adb shell monkey -p com.htc.Weather–s 10 100
多用于再现
4 --throttle <毫秒> 用于指定用户操作(即事件)间的时延,单位是毫秒
如 延迟3秒
adb shell monkey -p com.htc.Weather –throttle 3000 100
5 --ignore-crashes
用于指定当应用程序崩溃时(Force& Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。
如:adb shellmonkey -p com.htc.Weather --ignore-crashes 1000
测试过程中即使Weather程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止
示例2:adb shellmonkey -p com.htc.Weather 1000
测试过程中,如果Weather程序崩溃,Monkey将会停止运行。
6 --ignore-timeouts (无响应ANR)
当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成
7 --ignore-security-exceptions (许可证书崩溃)
用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。
8 --kill-process-after-error(发生错误停止运行并保持当前状态)
用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:系统并不会结束该应用程序的进程)
9 --monitor-native-crashes(监视并报告Androids系统本地代码的崩溃事件)
10 --pct-{+事件类别}{+事件类别百分比}
用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)
--pct-touch {+百分比} 触摸事件
触摸事件是一个down-up事件,它发生在屏幕上的某单一位置
如:adb shell monkey -p com.htc.Weather--pct-touch 10 1000
表示产生的1000个随机事件中应该产生10%即100个触摸touch的事件
--pct-motion {+百分比} 整动作事件
动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成
--pct-trackball {+百分比} 轨迹事件
轨迹事件由一个或几个随机的移动组成,有时还伴随有点击
--pct-nav {+百分比} 调整“基本”导航事件的百分比
导航事件由来自方向输入设备的up/down/left/right组成
--pct-majornav {+百分比} 调整“主要”导航事件的百分比
这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键
--pct-syskeys {+百分比} 调整“系统”按键事件的百分比
这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键
--pct-appswitch {+百分比} 调整启动Activity的百分比
在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法
--pct-anyevent {+百分比} 调整其它类型事件的百分比
它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等
指定多个类型事件的百分比
adb shell monkey -p com.htc.Weather--pct-anyevent 50 --pct-appswitch 50 1000
抓取要测试的包的位置
下载一个 包名查看器软件(安卓)即可
实战
http://v.youku.com/v_show/id_XODcyMjM1MDA4.html
adb shell monkey –p com.shjt.map –-throttle 100 –-pct-touch 50 –-pct-motion 50 –v –v 1000 >c:\monkey.txt
adb shell monkey –p com.andriod.calculator2 –-throttle 500 –v –v 100 >c:\monkey.txt
日志信息分析
CRASH 即崩溃信息
不设置忽略crashes,在测试过程中出现CRASH,会中断测试,并显示CRASH信息和seed信息,根据seed值来完成bug的复现
ANR
Monkey测试的og分析,我们可以通过几个关键词来判断测试是否通过。
1)Monkey finished
打开LOG,查看log的最下端,是否有类似以下字段:
## Network stats: elapsed time=5123ms (5123ms mobile, 0ms wifi, 0ms not connected)
// Monkey finished
这个字段表明本次的Monkey没有异常,测试通过。
2)CRASH
同样,在得到LOG后,搜索”CRASH”字段,如果搜索到有结果,则表明有进程出现问题,测试不通过。
// CRASH: com.onekchi.downloadmanager (pid 12919)
3)ANR
在Log中搜素该字段,如果有搜索有结果,则表示测试过程中,测试对象出现了无响应的现象,因此测试不通过。--throttle <毫秒>值建议为500
4)无法搜索到上述信息
出现这种情况,一般都是外界原因而非程序本身原因。比如电脑异常测试中断,需要重新测试。
示例CMD
adb shell monkey -p cc.hitour.travel --pct-nav 20 --pct-syskeys 20 --pct-touch 30 --throttle 500 -s 1 -v -v 1000 >c:\monkey.txt
adb shell monkey -p cc.hitour.travel --pct-nav 20 --pct-syskeys 20 --pct-touch 30 --throttle 500 -s 1 -v -v 30 >C:\Users\Lin\Desktop\APP测试\monkey.txt