Android自动化之Monkey测试(二)
本文主要从以下方面进行分享。
一、查看应用包名
二、Monkey启动
三、Monkey停止
四、Monkey命令
五、日志分析
一、查看应用包名
大多数时候,我们都是对特定的应用进行monkey测试,因此需要知道该应用的包名。除了可以问开发人员,手机查看,我们也可以用命令来查看。
在pm命令中输入 pm list package 查看

二、Monkey启动
1、通过usb数据线连接手机和电脑,并且手机打开usb调试模式;
2、在cmd中通过adb命令启动:
①直接通过PC启动:

②通过pm命令启动:

三、Monkey停止
通过pm命令停止:
1、通过 ps | grep monkey 查看对应包的进程
2、通过 kill pid(注意:pid为对应安装包进程的ID)停止对应的进程

四、Monkey命令
通过以上的内容,我们可以发现,Monkey启动的命令行脚本:monkey [options] <count>
Options表示Monkey执行的可配置参数,是可选项(如果不指定options,monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包);
Count表示Monkey执行的事件数,为必选项。
Options可简单划分为5类:
1、基本配置类参数
--help:打印帮助信息
-v:指定打印信息的详细级别,一个-v增加一个级别, 默认级别为 。最高为2,即-v -v -v
2、事件类型和频率参数
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s
--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle
--pct-touch:指定触摸事件的百分比,如:--pct-touch % , 相关的还有以下option:
--pct-motion <percent> (滑动事件)
--pct-trackball <percent> (轨迹球事件)
--pct-nav<percent> (导航事件 up/down/left/right)
--pct-majornav<percent> (主要导航事件 back key 、 menu key)
--pct-syskeys<percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)
--pct-appswitch<percent> (activity之间的切换)
--pct-anyevent<percent>(任意事件)
3、约束限制类参数
-p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura;
-c:activity必须至少包含一个指定的category,才能被启动,否则启动不了;
4、调试类参数
--dbg-no-events:初始化启动的activity,但是不产生任何事件。
--hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道连接了调试器才执行monkey测试。
5、官方隐藏类参数
--pkg-blacklist-file<黑名单文件>:
--pkg-whitelist-file<白名单文件>:
-f<脚本文件>
在日常使用monkey时,我们一般都是将多个options <count> 组合起来使用,实现多个功能。
五、日志分析
Monkey运行日志常见的保存方法:
1、 保存在PC中
>adb shell monkey [option] <count> >d:\monkey.txt
执行以上命令,Monkey的日志保存在PC端的d盘下的一个monkey.txt的文件中
2、保存在手机中
>adb shell monkey [option] <count> >/mnt/sdcard/monkey.txt
执行以上命令,Monkey的命令将被保存在手机中的SD卡上的一个monkey.txt的文件中
3、标注流与错误流分开保存
>adb shell monkey [option] <count> 1>d:\standard.txt 2>d:\error.txt
执行以上命令,Monkey的运行日志和异常日志将被分开保存,此时Monkey的运行日志将被保存在standard.txt文件中,而异常日志将被保存在D盘下的error.txt中。
执行后,可以看到PC的d盘中看见standard.txt和error.txt。
①standard.txt显示运行日志。
②如果Monkey在执行期间存在Crash(崩溃)或ANR(Application Not Responding,应用程序无响应),error.txt中会显示错误日志。
注意:这种方法无论是保存在PC还是手机都可。
Android自动化之Monkey测试(二)的更多相关文章
- Android自动化测试之Monkey 转自:LupuX
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011436666/article/details/53998332 在之前的文章Android自动 ...
- Android简单的monkey测试
Android中的monkey测试是比较常用的工具了,设定好monkey之后,让手机跑一晚上,第二天分析日志,这样能更加有效率的工作. monkey测试的工具比较多,基本的方法都差不多. 抓取日志: ...
- Android自动化测试之Monkey
本来是做Web后端的,来公司实习变成微信小程序前端了,到这周变成Android APP测试人员了,也是微醺啊. 由于对手工测试终究是有些抵触,所有昨天小试了一下不用写代码的自动化压力测试,在此记下我的 ...
- Android自动化测试之Monkey工具
前言:Android自动化测试工具.方法和框架,包括android测试框架.CTS.Monkey.Monkeyrunner.benchmark.test tool等. 一. 什么是MonkeyMonk ...
- Android自带Monkey测试
Monkey是在模拟器上或设备上运行的一个小程序,它能够产生为随机的用户事件流,例如点击(click),触摸(touch),挥手(gestures),还有一系列的系统级事件.可以使用Monkey来给正 ...
- Android应用程序Monkey测试
Monkey是Android SDK中附带的一个测试工具:Monkey用于进行压力测试,软件开发人员结合monkey打印日志和系统日志,解决测试中出现的问题. Monkey测试的特点:所有事件都是随机 ...
- [转] android自动化之MonkeyRunner测试环境配置(一)
Android自动化测试之MonkeyRunner 一.Android自动化测试之环境搭建 1.1 Android-sdk介绍 ¢ SDK(Software development kit)软件开发 ...
- android自动化之MonkeyRunner测试环境配置(一)
Android自动化测试之MonkeyRunner 一.Android自动化测试之环境搭建 1.1 Android-sdk介绍 ¢ SDK(Software development kit)软件开发 ...
- Android自动化测试之Monkey Test 安装(二)
因为Monkey Test是在eclipse上执行的,所以玩monkey test的时候要先配置安卓开发环境 一.Android开发环境搭建指南 1.安装JDK JDK下载链接:http://www. ...
随机推荐
- Android 开发 8.0版本启动Service的方法
前言 google在更新Android8.0后对Service的权限越发收紧.导致目前想要启动服务必需实现服务的前台化(否则在服务启动5秒后,系统将自动报错).下面我们就来看看如何在8.0上启动服务 ...
- 实战ELK(9) Elasticsearch地理位置
地理坐标点(geo-point) 是指地球表面可以用经纬度描述的一个点.地理坐标点可以用来计算两个坐标位置间的距离,或者判断一个点是否在一个区域中.地理坐标点不能被动态映射(dynamic mappi ...
- Java 转JSON串
一.JSON (JavaScript Object Notation) 1.轻量级数据交换格式能够替代XML的工作 2.数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小(简洁.简单.体积小 ...
- loadrunner-关联
1.什么是关联? 将服务器动态返回的值,保存成一个参数,供后面需要使用到 此参数的地方使用 PS:1.一定是服务器返回的 2.动态变化的,静态不需要关联 3.服务器需要校验的 4.保存成一个参数 5. ...
- 使用Java的URL/HttpURLConnection进行远程调用(POST请求)
利用Java的HttpURLConnection进行远程url请求(调用远程接口) 测试类:请求类型为json,以post方式请求,利用OutputStream写入数据 实体类: public cla ...
- docker 独立搭建linux + php 随笔
参考了 https://www.jianshu.com/p/fcd0e542a6b2 dodos大佬的一些经验 1.首先,由于nginx跟php的特性,使得二者可以单独作为独立容器存在,所以为了使h ...
- NetworkStream介绍说明
如果服务器和客户端之间基于TCP连接的,他们之间能够依靠一个稳定的字节流进行相互传输信息,这也是NetworkStream的最关键的作用,有了这个神奇的协议,NetWorkStream便能向其他流一样 ...
- Intel 82599网卡异常挂死原因
前提背景: 生产环境上,服务器网络突然断链,ssh连接失败. 问题初步定位: 查找内核日志,得到网卡异常信息 Jan 24 11:52:43 localhost kernel: ixgbe 0000: ...
- Mysql的隔离级别
一.首先什么是事务? 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事 ...
- vue使用qrcode插件生成二维码
参考:https://www.jianshu.com/p/d3883e020d99 步骤: 第一步:vue-cli下载插件 cnpm install --save qrcodejs2 第二步:组件中引 ...