APP稳定性测试Monkey工具介绍
一、Monkey工具简介
1、monkey的来源:
Monkey是一个命令行工具,使用安卓调试桥(adb)来运行它,模拟用户:触摸屏幕、滑动Trackball、按键等随机事件流来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,可以根据获取的log信息进行修复。
注:运行adb服务,需要搭建android sdk的环境
二、adb下载与环境变量配置
Adb--> Android Debug Bridge(安卓调试桥)
Adb下载地址:https://link.zhihu.com/?target=https%3A//adbshell.com/upload/adb.zip
下载adb.zip成功后,解压到任意盘符,配置环境变量
第一步:选择此电脑---->右键---->属性---->高级系统设置--->

第二步:查看是否安装成功:进入cmd中后输入:adb version命令
如果显示如下,表示你的环境变量已经配置成功:

三、adb常用命令与.apk文件下载安装
(1)adb devices --->查看设备命令:

(2) adb -s 设备号-----链接到具体设备:

(3) 查看设备中已安装程序的命令:
adb shell pm list packages -----查看设备中所有已安装程序
adb shell pm list packages -s----查看设备中系统安装的程序
adb shell pm list packages -3----列出第三方安装的程序

(4) 如何对以安装程序进行过滤
adb shell pm list packages |findstr包名中字符串(windows操作系统命令)
adb shell pm list packages |grep 包名中字符串(Linux操作系统命令)
命令:adb shell pm list packages | findstr kyk

(5) 如何查看日志(日志默认大小为256KB)
adb logcat -----查看全部日志 (退出 ctrl+c)
adb logcat -c --->清空日志
adb logcat >logcat.log ---保存日志到logcat.log (退出 ctrl+c)
四、Monkey的一般使用步骤
1.先确认设备(模拟器或者真机)是否连接成功。命令:adb devices,出现设备号则表示连接成功

2.确定待测应用的包名,输入命令:adb shell dumpsys activity | find "mFocusedActivity"
3.执行monkey测试命令:adb shell monkey -p com.funny.kyk -v -v 200
意思就是:向有趣生活app发送200次随机事件流操作,且打印日志

五、Monkey的常见命令:
1、常用参数:
(1) -help 查看monkey用法
命令格式:adb shell monkey [限制命令 参数值][事件名 百分比] 事件次数
(2) -p --->用于约束限制,用此参数指定一个或多个包。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。指定多个包,使用多个-p,一个-p后面接一个包名。
eg: adb shell monkey -p com.funny.kyk -p com.tencent.edu -v 100
(3) -v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别
-v,日志级别 Level0;
-v -v,日志级别 Level 1;
-v -v -v,日志级别 Level 2;
要查看级别最高的日志,例:adb shell monkey -p com.funny.kyk -v -v -v 100
(4) -s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。一般测试过程中出现崩溃,可以通过seed值来完成复现。
(5) --throttle <毫秒> 用于指定用户操作(即事件)间的时延,单位是毫秒;
(6) --randomize-throttle 用这个参数必须与--throttle 绑定使用。用于在事件之间插入随机延迟,随机延迟范围为0到throttle设置的时间,单位为毫秒;
例:adb shell monkey -p com.funny.kyk --throttle 500 --randomize-throttle 100
(7) --pkg-whitelist-file 白名单,后面接txt文件,指定白名单参数后只测试白名单的应用程序
(8) --pkg-blacklist-file 黑名单,后面接txt文件,指定黑名单参数后,避开黑名单的应用程序
例:adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt 100
2、常用命令:
(1) 操作与操作之间如何加思考时间(延迟时间):
--throttle 300 表示延迟300毫秒 注意:throttle 前面两个“-”
adb shell monkey -p com.funny.kyk -v -v -v --throttle 300 10 -->表示每次运行之间间隔300毫秒
(2) 忽略报错、忽略超时:
--ignore-crashes 忽略错误 注意前面两个“-”不能省略
eg: adb shell monkey -p com.funny.kyk --throttle 300 --ignore-crashes -v -v -v 10
--ignore-crashes --ignore-timeouts 表示忽略错误与忽略超时,注意两个之间有空格
eg:adb shell monkey -p com.funny.kyk --throttle 300 --ignore-crashes --ignore-timeouts -v -v -v 10
(3) 指定操作事件:
--pct-touch 100 表示10次都执行触摸事件:
adb shell monkey -p com.funny.kyk --throttle 300 --ignore-crashes -v -v -v --pct-touch 100 10
(4) 保存日志
adb shell monkey -p com.funny.kyk --throttle 300 --ignore-crashes -v -v -v --pct-touch 100 10 >d:\test.log

(5) 如何将日志保存到PC端?
adb shell monkey -v -v -v 1000 > 本机地址
例:adb shell monkey -v -v -v 1000 > d:\monkey.txt
(6) 日志查看补充
---->先把日志输出到本地
---->注意观察switch后面的内容,一般错误都会显示在这个后面
---->ANR问题:日志中搜索ANR关键字
---->奔溃问题:在日志中搜索Exception问题
六、Monkey百分比事件
0:点击事件百分比,即参数--pct-touch
1:滑动事件百分比,即参数--pct-motion
2:缩放事件百分比,即参数--pct-pinchzoom
3:轨迹球事件百分比,即参数--pct-trackball
4:屏幕旋转事件百分比,即参数--pct-rotation
5:基本导航事件百分比,即参数--pct-nav
6:主要导航事件百分比,即参数--pct-majornav
7:系统按键事件百分比,即参数--pct-syskeys
8:Activity启动事件百分比,即参数--pct-appswitch
9:键盘唤出隐藏事件百分比,即参数--pct-flip
10:其他事件百分比,即参数--pct-anyevent
例:adb shell monkey -p com.funny.kyk --pct-touch 10 -v -v 100

APP稳定性测试Monkey工具介绍的更多相关文章
- APP稳定性测试-monkey执行
		Monkey命令行可用的全部选项 *示例 : adb shell monkey -p cn.lejiayuan.alpha --pct-touch 30 --pct-motion 15 --pct-t ... 
- App稳定性测试Monkey
		1.$ adb shell monkey <event-count> <event-count>是随机发送事件数 例:adb shell monk ... 
- APP稳定性测试
		APP稳定性测试-monkey测试 第一篇-App稳定性测试-Monkey(基本操作) 准备工作 1.首先下载好adb工具 2.使用数据线连接电脑,打开usb调试 3.使用win+R打开运行, ... 
- Android APP压力测试(一)之Monkey工具介绍
		Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ... 
- Monkey Android app稳定性测试工具之Monkey使用教程
		Monkey Android app稳定性测试工具之Monkey使用教程 by:授客 QQ:1033553122 由于篇幅问题,仅提供百度网盘下载链接: Android app稳定性测试工具之Monk ... 
- Android客户端稳定性测试——Monkey
		修改时间 修改内容 修改人 2016.6.20 创建 刘永志 2016.6.29 完成 刘永志 Monkey简介: Android SDK自带的命令行测试工具,向设备发送伪随机事件流,对应用程序进行进 ... 
- Android APP压力测试-Monkey
		压力测试-Monkey学习 Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随 ... 
- APP压力测试 monkey(新猿旺学习总结)
		安卓APP做压力测试 需要配置JDK(Java)和 配置SDK 遮掩才能使用adb命令连接手机进行模拟动作事件进行压力测试 配置 K JDK 与 K SDK 环境 a java 与 与 sdk 用于 ... 
- web安全测试---WebScarab工具介绍
		1.1 Webscarab [功能] WebScarab是一个用来分析使用HTTP和HTTPS协议的应用程序框架.其原理很简单,WebScarab可以记录它检测到的会话内容(请求和应答),并 ... 
- 【测试工具】这些APP实用测试工具,不知道你就out了!
		本期,我将给大家介绍14款实用的测试工具,希望能够帮到大家!(建议收藏) UI自动化测试工具 1. uiautomator2 Github地址:https://github.com/openatx/u ... 
随机推荐
- Openmp Runtime 库函数汇总(下)——深入剖析锁🔒原理与实现
			Openmp Runtime 库函数汇总(下)--深入剖析锁原理与实现 前言 在本篇文章当中主要给大家介绍一下 OpenMP 当中经常使用到的锁并且仔细分析它其中的内部原理!在 OpenMP 当中主要 ... 
- RSA非对称加密算法浅析
			说起加密算法,大的分类上,常规区分通常会区分为对称加密与非对称加密两种,两种算法都各有优缺点.然而互联网发展到今天,应用更广的还是非对称加密的方式,而非对称加密中,RSA又首当其中,被广泛运用到各类应 ... 
- Blazor如何实现类似于微信的Tab切换?
			是否有小伙伴在使用tab的时候想进行滑动切换Tab? 并且有滑动左出左进,右出右进的效果 ,本文将讲解怎么在Blazor中去通过滑动切换Tab 本文中的UI组件使用的是MASA Blazor,您也可以 ... 
- Vue+elementui前后端分离,单个图片文件上传和上传时出现的跨域问题的解决方案
			在后端解决跨域问题: 我是通过配置文件来解决跨域问题的 @Configurationpublic class CorsConfig {//解决前后端分离的跨域问题! /** * cors suppor ... 
- C#依赖注入(直白明了)讲解 一看就会系列
			最基础的:UI-BLL-DAL 这是我们耳熟能详的分层 (补充:) 我们的类正常都不是孤立存在的.很多都是要依赖于其它的类. 比如说我们有一个Work类,Work类在工作的时候需要把信息记录下来. ... 
- Linux文件常用操作命令
			Linux文件常用操作命令 一.Linux文件和目录简单操作 1.1 查看文件 ls 查看当前目录下的文件 如: -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"." ... 
- 843. n-皇后问题
			题目: 这 道 题 呢 唯 一 一 点 与 其 他 题 目 不 同 之 处 就 是 它 有 有 3 个 v i s 数 组 以及是一行一行深搜的. 主要思路为: 从第一行 到第n行,一行放一个,这一行 ... 
- 使用 shell 脚本拼接 srt 字幕文件 (srtcat)
			背景 前段时间迷上了做 B 站视频,主要是摩托车方面的知识分享.做的也比较粗糙,就是几张图片配上语音和字幕进行解说.尝试过自己解说,发现录制视频对节奏的要求还是比较高的,这里面水太深把握不住.好在以 ... 
- redis georadius源码分析与性能优化
			原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点.完工后对服务进行压测后发现geor ... 
- 关于AD获取成员隶属于哪些组InvokeGet("memberOf")的问题
			关于AD获取成员隶属于组成员问题 获取结果默认返回object类型,可能是string类型,也可能是object[]类型,所以只有一个结果的时候是string类型,直接返回object[]会报错 pr ... 
