Monkey的概念:

“猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人(就像猴子一样)不需要知道程序的任何用户交互方面的知识,如果给他一个程序,他就会针对他看到的界面进行操作,其操作是无目的的、乱点乱按的。

这种测试方式在产品周期中的早期阶段会找到很多很好的bug,为用户节省不少的时间。

Monkey的介绍

它是Android系统自带一个命令行工具,可以运行在模拟器里或者真是设备中运行。

monkey向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。

monkey包括很多选项,大致四大类:

1.基本配置选项,如设置尝试的事件数量。

2.运行约束选项,如设置只对单独的一个包进行测试。

3.事件类型和频率。

4.调试选项

monkey命令特性

不可能使用monkey来指定做一样测试,重复做很多次。因为monkey产生的是伪随机的事件流。但是我们可以通过添加命令选项将操作限制在一定的范围内。

一,首先你要先搭建环境

1.先下载jdk 具体安装流程请参考:https://blog.csdn.net/write6/article/details/79136388

2.再下载sdk 具体安装流程请参考:https://blog.csdn.net/u011541946/article/details/77142045

二,打开手机的开发者调试工具,用usb数据线链接你的手机;

三,monkey前的准备命令

1.windows+r 输入cmd进入dos命令行;

2.输入adb devices 下面出现类似下图的组合你就成功了;(

3.再输入 adb shell pm list packages 查看你的手机所有的安装包;输入 adb shell pm list packages -3 查看手机上所有的第三方安装包,尽量让测试机少安装第三方软件,这样可以尽快的找到想要的安装包名称;

四,首先用一个最简单的mokey去试着找哪个是你想要的安装包名称:

1./ / -p参数:表示指定测试的程序(空格后面跟安装包名字,拿刚才的第三方安装包一个个试)

/ /-v参数:表示查看monkey执行过程的信息(日志级别)(-v 越多越详细,最多三个)

/ /数字100:表示测试事件数为100

指定一个包 adb shell monkey -p com.tencent.news -v -v -v 100 (此时指定软件会被打开并开始乱点乱按)
指定多个包 adb shell monkey -p com.tencent.news -p com.pdfreader -p com.widgets -v 1000
不指定包 adb shell monkey -v 1000

结果如图:

Event percentages(事件百分比):

0:触摸事件百分比,参数–pct-touch

1:滑动事件百分比,参数–pct-motion

2:缩放事件百分比,参数–pct-pinchzoom

3:轨迹球事件百分比,参数–pct-trackball

4:屏幕旋转事件百分比,参数–pct-rotation

5:暂时不知道这个是什么

6:基本导航事件百分比,参数–pct-nav

7:主要导航事件百分比,参数–pct-majornav

8:系统事件百分比,参数–pct-syskeys

9:Activity启动事件百分比,参数–pct-appswitch

10:键盘翻转事件百分比,参数–pct-flip

11:其他事件百分比,参数–pct-anyevent

2.尽管monkey产生是伪随机事件流,但是我们希望我们的操作有一定的规律性,即按键、触屏等各类事件操作有所偏重。

eg:(1).对文本框操作,需要更多的按键操作。

    (2).玩游戏,需要更多的点击和滑动操作。

3.–throttle 设定两个事件之间一个固定延迟,可以减缓monkey的执行速度。如果不指定,monkey将不会被延迟,事件将尽可能快地生成和发送消息。单位:毫秒

eg:adb shell monkey --throttle 3000 -p com.tencent.news 100

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。

4.–pct-touch (空格后加数字)设定触屏事件生成的百分比。触屏事件是一个有手指按下,抬起事件的手势。

eg: adb shell monkey --throttle 3000 --pct-touch 50 -p com.tencent.news 100

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定触屏的事件占比为50%。

5.–pct-motion 设定滑动事件生成的百分比。滑动事件是一个先在某一个位置手指按下,滑动一段距离后再抬起手指的手势。

eg: adb shell monkey --throttle 3000 --pct-motion 50 -p com.tencent.news 100

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定滑动的事件占比为50%。

6.–pct-trackball 设定轨迹球事件生成的百分比。轨迹球事件是包含一系列随机移动和单击事件的事件

eg:adb shell monkey --throttle 3000 --pct-trackball 50 -p com.tencent.news 100

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定轨迹球的事件占比为50%。

7.–pct-nav 设定基本导航事件生成的百分比。基本导航事件是模拟方向性在设备上输入向上、向下、向左、向右的事件。

eg:adb shell monkey --throttle 3000 --pct-nav 40 -p com.tencent.news 100

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定基本导航事件的占比为40%。

8.–pct-majornav 设定主要导航事件生成的百分比。主要导航事件通常会导致UI产生回馈信息,如单击Back键、Home键、Menu键等、

eg: adb shell monkey --throttle 3000 --pct-majornav 40 -p com.tencent.news 100

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定主要导航事件的占比为40%。

9.–hprof

指定了该参数,Monkey会在发送事件序列的前、后,生成性能分析报告。通常会在data/misc目录下生成一个5MB左右大小的文件

10.–ignore-crashes

通常情况下,monkey会在测试应用程序崩溃或者发生异常后停止运行,若指定了该参数,则monkey将会在产生异常后,继续向系统发送事件,直到指定事件全部运行完毕。

11.–ignore-timeouts

通常情况下,当应用程序发生任何超时错误(application not responding)时,monkey将停止运行。若指定了该参数,则monkey将会在产生错误信息后,继续向系统发送事件,直到指定事件全部运行完毕

12.–ignore-security-exceptions 通常情况下,指定应用程序发生许可错误时(如证书许可,网络许可等),monkey将停止运行。若指定了该参数,即使应用程序发生许可错误,monkey会继续向系统发送事件,直到指定事件全部运行完毕。

eg:adb shell monkey --throttle 3000 --pct-trackball 50 -p com.tencent.news --ignore-security-exceptions 100

到这里简单的monkey就完了,以上内容均为高哥传授;

丧心病狂的Monkey测试相关推荐

  1. 行意天下正文 Android Day02-Android中单元测试(junit测试)monkey测试

    Android中junit测试有2种实现方式 第1种:一般Android工程的实现方式 1.在清单文件中添加2项内容 首先在AndroidManifest.xml中加入下面红色代码: <mani ...

  2. Monkey测试2——Monkey测试策略

    Monkey的测试策略 一. 分类 Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一a ...

  3. monkey测试_用 Instrumentation 改良 Monkey 工具实战

    作者:杭州城西费德勒 - 曾中华 这里 Monkey 不是猴子,而是 Android 系统中用来做自动化测试的工具,即盲点.压力测试. 在之前的移动端产品迭代中,Monkey 工具一直没有利用起来.开 ...

  4. Monkey测试1——Monkey的使用

    1 Monkey工具使用 2 3 一. 什么是Monkey 4 5 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输 ...

  5. [原创]Android Monkey测试工具使用介绍

    [原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...

  6. cmd与monkey测试

    monkey测试的相关命令 monkey是模拟用户触摸操作,不支持条件判断. monkey命令格式:  启动安卓模拟器/真机 点击运行->输入cmd->进入命令行界面 查看设备连接情况,a ...

  7. Monkey测试简介

    在android手机上做自动化测试,monkey比cts,Android UnitTest 好用多了,他其实是继承与adb shell中的一段的shell指令. 一monkey测试的相关的原理 mon ...

  8. monkey测试_爱码小士丨 APP稳定性测试(附视频详解)

    在实际的测试过程中,主要是对系统的功能来进行测试,用于校验功能的正确性 还需要考虑到系统在未修改的状态下,是否能够稳定运行,即崩溃.闪退.重启.系统异常等等等地情况 在APP中,稳定性测试一般是交由M ...

  9. android测试之monkey测试

    1.首先安装SDK包 2.配置环境变量 3.打开CMD命令窗口,查看是否安装成功 命令:adb version 4.要做monkey测试的安卓包名,获取方式如下(必须启动要获取报名的app) 1.ad ...

  10. 【UI自动化测试】Mac下进行Monkey测试

    [写在前面]在进行app测试中了解到monkey测试,故在网上学习了一些资料,但自己在实践中仍有一些疑惑和问题出现.在此记录下自己的实际操作,后续仍然会不断调整,以期完善. 一.对monkey压力测试 ...

最新文章

  1. 软件架构师证书有用吗_健康管理师证书在求职时有用吗?
  2. 非阻塞connect的实现
  3. 带你学python基础:字符串
  4. 玩转GIT系列之【如何配置GIT的用户名/密码/密钥】
  5. 前端只是切图仔?来学学给开发人看的UI设计
  6. springboot初始篇(一)
  7. 服务器系统bsd,BSD操作系统大盘点:其它BSD变体
  8. 5.4监听socket
  9. 你觉得sql有多难?
  10. PIC单片机开发环境搭建
  11. 晨风机器人回复词库_qq机器人词库大全下载
  12. 录屏软件推荐--绝对良心--中国人不骗中国人
  13. [Asp.Net Core]Session的使用
  14. JAVA日期格式化大写YYYY-MM-dd和小写yyyy-MM-DD的坑
  15. 《SpringMVC视频教程》(p2~p3)
  16. F.interpolate——数组采样操作
  17. 给定一个正整数n,输出如下n*n之字形方阵
  18. 怎么判断是显卡不行了还是CPU不行了?
  19. 硬盘变成了raw格式了怎么办?数据还能找回吗
  20. 突然被录取?多所院校发布研究生补录通知!

热门文章

  1. SDCC 2016讲师、知名JavaScript专家周爱民议题公布:有前端思想的物联网系统架构...
  2. 湿气重怎么办?湿气有哪些危害?祛湿建议首选云植祛湿颗粒
  3. imshow显示图像为纯白或者纯黑或者为杂点(noise)原因分析(下篇)
  4. 关于uc/os-ii在c51上的移植总结
  5. WIN10系统IE浏览器被劫持怎么办?个人呕心沥血的一点小贴士
  6. Beamer Template
  7. 我国期货市场发展潜力和方向
  8. 分布式进阶(十四)分布式开发学习感触
  9. 汽车电子显示屏尺寸以及分辨率参照表
  10. Docker无法启动start request repeated too quickly for docker.service