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手机助手(电脑上安装这个助手)
第三种你是什么牌子的手机就下载什么牌子的助手。(电脑上安装这个助手)
APP测试工具monkey的安装和常用命令及日志分析相关推荐
- 软件包管理工具snap的安装及常用命令
snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立.所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理.但是由 ...
- Redis 数据库的安装与常用命令解析
目录 一.安装部署 1. 环境配置 2. 编译安装 3. 设置 Redis 相关配置文件 4. 启动服务 二.Redis 常用工具 1. redis-cli 命令行工具(远程登陆) 2. redis- ...
- 一篇文章带你了解,App 测试工具
随着移动互联网的高速发展,App 应用非常火,测试工程师也会接触到各种 app 应用.除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的 app 测试工具做了一个统一 ...
- 超全的App 测试工具大全,收藏这篇就够了【附带官网|GitHub地址】
随着移动互联网的高速发展,App 应用非常火,测试工程师也会接触到各种 app 应用.除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的 app 测试工具做了一个统一 ...
- 此beta版本目前不接受任何新测试员_ASO行业资讯|苹果官方App测试工具TestFlight
ASO行业资讯1数据周报12月8日起,用户在任何 Apple 平台下载 App 之前,App Store 都会先帮助其了解该 App 的隐私保护做法.在每款 App 的产品页面上,用户能了解到该 Ap ...
- Android 开源安全测试工具 Drozer,安装过程中的问题
Android 开源安全测试工具 Drozer,安装过程中的问题 记录安装过程中出现的问题 Android 开源安全测试工具 Drozer,安装过程中的问题 错误一 错误二 错误三 错误四 错误五 错 ...
- [原创]Tsung压力测试工具简介及安装
[原创]Tsung压力测试工具简介及安装 一 Tsung压力测试工具简介 一个开源的多协议分布式负载测试工具,使用erlang语言开发的.它能用来压力测试HTTP, WebDAV, SOAP, Pos ...
- 测试工具OWASP ZAP安装使用
测试工具 OWASP ZAP安装使用 1. 概念介绍 1.1 OWASP 1.2 OWASP ZAP 2. 下载安装 2.1 下载 2.2 安装 3. 使用方法 3.1 本地代理设置 3.2 简单攻击 ...
- iOS:如何在iphone、ipad上安装一些常用命令行命令
iOS:如何在iphone.ipad上安装一些常用命令行命令 相信对Linux.Unix比较熟悉的朋友,在iphone或 ipad越狱后发现通过Cydia可以安装OpenSSH,一定都想安装上并且通过 ...
最新文章
- 持久对象生命周期的状态
- Java 类型转换
- 前端学习(1393):多人管理项目13加密实现
- dispose方法的使用
- 那些除夕夜还在上BOSS直聘的人
- 解决Docker安装MySQL不区分大小写问题
- IDEA如何查看JDK源码
- R如何读取txt文件
- 【华人学者风采】忻获麟 加州大学欧文分校
- 初识云计算————虚拟化背景
- 【我的新书】一步一步学SpringBoot 2:微服务项目实战
- 2007舜宇杯ACM程序设计浙江省赛结果
- 写给女儿的话---小荷作文万米写书序言
- CAD2012安装失败怎么回事?
- Linux下的桥接模式和Nat模式的区别
- EasyCVR使用大华SDK接入时录像显示失败是什么原因?该如何解决?
- ESD与EOS(surge)防护器件选型
- HP CQ40安装XP详细步骤(刷BIOS)
- SEO教程VIP资源合集,速度领!手慢无
- 4-4 美女排名 (10 分)