APP测试工具monkey的安装和常用命令及日志分析
Monkey安装步骤:
1、解压安装包(android-sdk_r24.4.1-windows.zip):解压到要安装的Android的路径即可。解压后的文件如下所示:包括add-one,platforms,tools ,AVD Manager.exe,SDK Manger.exe,SDK Readme.txt。
2、双击“SDK Manager.exe”,启动SDK Manager,选择以下进行安装: (几点注意:①下列所勾选的内容都是必须下载的,其他可以根据自身需求进行下载。②API的选择个人建议先考虑下载最新的,因为Android是向下兼容的,如果跟我一样下载不了最新版本的话就亲下载次新版本。比如我选择下载的是Android8.0.0(API 26))
3、勾选后即可点击Install packages进行下载(时间可能有点长,毕竟是*到国外下载。耐心等待喲!!)
4、接下来关闭close,关闭对话框重新启动SDK manager就可以进行下载了;下载成功后的话,之前的“Not installed”会变成:“Installed”;如下图所示:
Monkey环境配置
计算机右键属性-高级系统设置–高级----环境变量
1、新建一个环境变量,变量名为ANDROID_HOME,变量值为D:\Android\android-sdk_r24.4.1-windows\android-sdk-windows(以自己的SDK安装目录为准,确定里面有tools和add-one等多个文件),点击确认。
2、在系统变量path中加变量值%ANDROID_HOME%\platform-tools,然后再增加变量值D:\Android\android-sdk_r24.4.1-windows\android-sdk-windows\tools(以自己的安装目录为准)。
3、查看是否安装成功:
测试连接:
需要安装adb的工具包 已安装可以跳过
开发者模式 usb调试
1.手机要在系统中打开关于版本 点击版本号五次 开启 开发者模式 【开发者模式已启用】
2.按返回键到设置菜单,设置中开发者模式------勾选USB调试
检验环境配置是否成功:点击Windows+R→输入cmd→回车→输入adb shell monkey -help(记住需要成功连接到手机或pad移动到)
monkey简介与最常用命令
1.monkey简介
monkey是安卓SDK附带的一个用来做压力测试的工具,monkey测试所有事件都是随机发生的,不带有主观性,测试人员主要通过跑monkey后打印出来的日志分析来发现问题
adb= android debug brigde
1.首先确认pc机是否和手机进行了连接:
adb devices
2.如果查询设备里没有任何信息,则使用如下命令连接模拟器(手机):
adb connect localhost:5555
3.再次查询当前连接设备信息,则应该多出一条设备已连接的信息:
C:\Users\Administrator.SKY-20180820DEV>adb devices
List of devices attached
localhost:5555 device
2.monkey最常用命令
(1) adb shell \进入android shell命令模式
adb shell monkey -p com.seafile.seadroid2 -s 100 -v -v -v 100
命令解析:
参数 -p com.ircloud.ydh.agents:-p表示monkey工具需要操作的进程名称,后面接com.ircloud.ydh.agents表示易订货的进程名称。那么进程名称怎么查出来的呢?打开手机后,查找正在运行的程序,点开相应的程序后即可看到该程序的应用名称,这里不同的手机操作不一样,不可能每个都能列出来,大家自己观察自己的手机,实在不会找的同学看能否搜索下相关得到资料。
参数 -v 设置日志级别(默认一个-v),如需更详细的日志可以加多个-v,最多3个
参数:-s 100
用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。如上面的Monkey测试1和2,两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。 操作序列虽 然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;注意:seed值一般设为小于1000
最后一个100是表示执行随机事件100次。
做一个练习,使用同一个monkey命令,要求输出日志文件到windows上,以及输出日志文件到手机上/sdcard。
windows 命令行:
adb shell monkey -p com.ircloud.ydh.agents -s 100 -v -v -v 100 > F:\monkeylog\monkey_100.txt
linux命令行:
adb shell
monkey -p com.ircloud.ydh.agents -s 100 -v -v -v 100 > /sdcard/monkey_100.txt
adb shell monkey -p com.ircloud.ydh.agents -s 100 -v -v -v 100 > F:\monkeylog\monkey_100.txt
F:\monkeylog\monkey_100.txt表示将monkey工具执行过程中的日志重定向到windows上的某个文件里,这样所有的日志信息就能完整的保存到windows上了,也比较方便分析。
adb shell monkey -p com.tencent.mobileqq -s 100 -v -v -v 100
adb shell monkey -p ydh -s 100 -v 10
应用商店模拟用户随机操作,无延迟点击1000次
\\参数-p用来指定参数,指定一个或多个包;参数-v 设置日志级别(默认一个-v),如需更详细的日志可以加多个-v,最多3个,如
monkey -p com.aa.bbmiddlemarket -v -v -v 1000 \\3个-v,输出最详细的日志
monkey -p com.ircloud.ydh.agents -s 100 -v -v -v 10
(2) adb shell monkey -p com.ircloud.ydh.agents -v 10 > F:\monkeylog\monkey.txt
应用商店模拟用户随机操作,无延迟10次,并把操作后的日志输出到电脑上的F:\monkeylog\monkey.txt
(3)Monkey测试1:adb shell monkey -p com.ircloud.ydh.agents -s 10 100
Monkey 测试2:adb shell monkey -p com.ircloud.ydh.agents -s 10 100
参数: -s 100
用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。如上面的Monkey测试1和2,两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。 操作序列虽 然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;注意:seed值一般设为小于1000
(4)adb shell monkey -p com.ircloud.ydh.agents -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > F:\monkeylog\monkey_10000.txt
--ignore-crashes忽略崩溃,继续测试,若不做此限制,monkey测试出现崩溃时会自动停止测试
同理,在中间插入控制命令如下:
--ignore-timeouts 忽略连接超时
--ignore-security-exceptions忽略在应用程序发生许可证错误(认证或证书异常),
--kill-process-after-error在应用程序出现错误后,将会通知系统停止发生错误的进程
--monitor-native-crashes监视并报告Android系统中本地代码的崩溃事件,如果设置”--kill-process-after-error”参数,系统将停止运行该进程
--ignore-native-carshes忽略本地代码导致的崩溃
(5)adb shell monkey -p com.ircloud.ydh.agents --throttle 500 100 > F:\monkeylog\monkey_100.txt
代表间隔时间,即每次操作的时间间隔,单位是毫秒;用--throttle可以减缓monkey的执行速度,如果不指定该选项,monkey将不会被延迟,事件将尽可能快地完成,一般用500
(6)终极命令:adb shell monkey -p com.ircloud.ydh.agents -s 500 --throttle 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 > F:\monkeylog\monkey_10000.txt
(7)通过电脑向手机上传文件:
adb push d:\testupfile.txt /sdcard/testupfile.txt
(8)电脑向手机下载文件:
adb pull /sdcard/testupfile.txt d:\testupfile.txt
练习:把刚才手机里存放的monkey报告,下载到pc机上来。
91手机助手 360手机助手 或则是你们品牌的那个手机助手
qq手机演示:
adb shell monkey -p com.tencent.mobileqq -s 100 -v -v -v 100
日志分析:
1.Event percentages:
由上图可以看出
0:触摸事件百分比,即参数–pct-touch
1:滑动事件百分比,即参数–pct-motion
2:缩放事件百分比,即参数–pct-pinchzoom
3:轨迹球事件百分比,即参数–pct-trackball
4:屏幕旋转事件百分比,
5:基本导航事件百分比,即参数–pct-nav
6:主要导航事件百分比,即参数–pct-majornav
7:系统事件百分比,即参数–pct-syskeys
8:Activity启动事件百分比,即参数–pct-appswitch
9:键盘翻转事件百分比,即参数–pct-flip
10:其他事件百分比,即参数–pct-anyevent
日志内容分析
一般测试结果分析-搜索关键字:
1.程序无响应,ANR问题:在日志中搜索“ANR”
2.崩溃问题:在日志中搜索“CRASH”
3.其他问题:在日志中搜索”Exception”
Monkey工具的测试过程(android sdk已经安装了):
- 保证你的手机设备是和电脑连接(adb devices 查到你的设备信息),有且只有一个设备
- 执行monkey命令并且保存生成的monkey日志
- 在日志里面搜索这几个关键字来分析是否有问题,“ANR”,“CRASH”,”Exception”
手机连电脑要安装手机驱动(还要开通开发者模式),借助手机助手即可,我推荐3个:
360手机助手(电脑上安装这个助手)
91手机助手(电脑上安装这个助手)
第三种你是什么牌子的手机就下载什么牌子的助手。(电脑上安装这个助手)
本文地址:https://blog.csdn.net/lhy_xingcheng/article/details/107102566
上一篇: 合作开发-ASP.Net页面间传值
下一篇: 手把手带您开发第一个android应用