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手机助手(电脑上安装这个助手) 第三种你是什么牌子的手机就下载什么牌子的助手。(电脑上安装这个助手)