第一部分:Monkey test

1.开始—>运行—>cmd

2.usb连接手机(首次连接时需要安装相应的驱动),输入 adb shell 命令,会出现下图的字符

3.此时,输入相应的monkey命令即可测试

4.手机会自动进行monkey测试。

针对系统:

 

monkey --ignore-crashes --ignore-timeouts--kill-process-after-error --ignore-security-exceptions --throttle 1000 -v -v-v -s 5 60000000 1>>/sdcard/log.log 2>>/sdcard/log_err.log

针对单个包:

 

monkey -p com.android.contacts--monitor-native-crashes--pct-touch 30 -s 1 -v -v -v --throttle 200 100000 1>>/sdcard/camera.log2>>/sdcard/camera_err.log

注:以上两条命令,一、是针对系统的,二、是针对单个包的,可以测试自己的包,替换红色包名

第二部分:log抓取设置

1.  路径:设置—>应用程序—>开发—>usb调试(注:可根据相应软件情况来选择,此路径为个人简单介绍)

2.   USB 连接电脑,打开运行输入cmd ,之后按照第三部操作即可

 

第三部分:关于monkey命令简要概述

一、九个事件及百分比控制

1、九个事件

--pct-touch <percent> 0
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)(——点击事件,涉及down、up)

--pct-motion <percent> 1
调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成) (——注:move事件,涉及down、up、move三个事件)

--pct-trackball <percent> 2
调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)--(轨迹球)

--pct-nav <percent> 3
调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)

--pct-majornav <percent> 4
调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)

--pct-syskeys <percent> 5
调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)

--pct-appswitch <percent> 6
调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。(从一个Activity跳转到另一个Activity)

--pct-flip <percent> 7
调整“键盘翻转”事件的百分比。

--pct-anyevent <percent> 8
调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。

红色的数字对应下面百分比对应的数字。比如下图中0:15.0%,表示分配--pct-touch事件15%。测试100次分配15次测试down-up。

2、百分比控制

如果在monkey参数中不指定上述参数,这些动作都是随机分配的,9个动作其每个动作分配的百分比之和为100%,我们可以通过添加命令选项来控制每个事件的百分比,进而可以将操作限制在一定的范围内。

我们先来看一下不加动作百分比控制,系统默认分配事件百分比的情况

命令:adb shell monkey -p com.android.music -v 500

结果:

再看一下指定事件,控制事件百分比之后的情况

命令:adb shell monkey -p com.android.music -v --pct-touch 10 500

结果:

说明:--pct-touch 10 表明pct-touch所代表的事件的百分比为10%。

二、约束限制及确定对应包名

1、约束限制

-p <allowed-package-name>

1个 -p 选项只能用于一个包。指定多个包,需要使用多个 -p 选项

命令:adb shell monkey -p com.android.music -p com.android.contacts -v 500

结果:

2、确定测试包名

利用monkey测试,通过-p参数确定应用程序在Emulator中所对应的包名。步骤如下:

a、在Eclipse中打开欲测试的项目,并在模拟器中执行。此时,他的APK应该加载到了Emulator(译:仿真器、模拟器)上(

也可以通过命令模式打开模拟器、安装、删除apk

启动模拟器:emulator -avd test test为模拟器名称

安装:adb install c:/xxx.apk

删除:adb uninstall apk的包名

b、在命令行输入命令:adb shell

c、应用程序包都在data目录中的data目录下,我们输入命令:cd data/data 进入目标data文件夹,在执行命令:ls,可找到刚才加载项目的应用程序包。如下图所示:

找到对应的包名后,就可以通过monkey命令来进行测试了。例如:adb shell monkey -v -p com.android.music500

最后的500,表示测试触发500个事件(500个事件要按比例分摊到9个事件当中,如何指定不同的事件比例上面已经说过了)。

如果在事件之间插入延时,使用参数:--throttle 5000 这里的5000为毫秒单位。通过这个选项,可以降低monkey的执行速度;如果不指定该选项,Monkey将不会被延迟,事件将尽可能快的被产生。

-s <seed> 伪随机数生成器的seed值。如果用相同的seed值再次运行monkey,它将生成相同的事件序列,对9个事件分配相同的百分比。

-v 命令行的每一个-v将增加反馈信息的级别。

第四部分、在monkey测试中常用的命令组合有

1、monkey -p com.yourpackage-v 500 简单的输出测试的信息。
2、monkey -p com.yourpackage -v -v -v 500  以深度为三级输出测试信息。
3、monkey -p com.yourpackage --port 端口号 -v 为测试分配一个专用的端口号,不过这个命令只能输出跳转的信息及有错误时输出信息。
4、monkey -p com.yourpackage -s 数字 -v 500 为随机数的事件序列定一个值,若出现问题下次可以重复同样的系列进行排错。
5、monkey -p com.yourpackage -v --throttle 3000 500 为每一次执行一次有效的事件后休眠3000毫秒。

monkeytest方法-20171113相关推荐

  1. 绝地求生大逃杀错误服务器维护,绝地求生 Bad Service Version 错误问题解决方法

    绝地求生 Bad Service Version 错误问题解决方法 2017-11-13 15:53:01来源:游戏下载编辑:评论(0) <绝地求生大逃杀>提示Bad Service Ve ...

  2. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  3. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  4. android 回归测试,android测试:monkey使用方法

    android测试:monkey使用方法 Android Sdk给我们提供了Monkey和Monkeyrunner这两个自动化测试工具. 一.什么是Monkey Monkey是一个命令行工具,可以运行 ...

  5. java.servlet js,调用servlet方法

    <深入剖析Tomcat>一2.1 javax.servlet.Servlet接口 2.1 javax.servlet.Servlet接口 Servlet编程需要使用到javax.servl ...

  6. riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法

    基本要求 一个riot标签,就是展现和逻辑的组合(也就是html和JS) 以下是编写riot标签最基本的规则: 先撰写HTML,再撰写JS,JS代码可以写在<script>标签内部,但这并 ...

  7. whitelist方法_whitelist

    组复制官方翻译五.Group Replication Security https://dev.mysql.com/doc/refman/8.0/en/group-replication-securi ...

  8. python类的析构方法是什么_python类的析构方法是什么_python类析构

    python __del__ 转自:http://blog.csdn.net/bbdxf/article/details/25774763 最近学习<Python参考手册>学到Class部 ...

  9. [monkey]monkey只跑白名单页面方法

    背景:我们在跑monkey时,可能APP里配置了广告或是其他就跳走了,回不来了,导致测的是百度或是系统页面,下面介绍一种只跑白名单的方法,如果跳到其他页面,就会被"拽"回来. 一. ...

  10. android有病毒怎么清除,安卓手机幽灵推病毒怎么彻底清除?手机幽灵推病毒彻底清除方法...

    央视曝光安卓手机病毒"幽灵推"之后,引起了用户极大的恐慌.小伙伴们也不用太担心,下载时选择正规网站防患于未然,那有人就要问,不小心中毒了之后该怎么办呢?下面就让百事网小编给大家讲解 ...

最新文章

  1. PHP ORM框架ezpdo(2)之EZPDOSQL
  2. 树莓派c语言访问mariadb,树莓派之MariaDB
  3. CSAPP第4章家庭作业参考答案
  4. 电路交换网络中,每条电路独占其经过的物理链路。
  5. Java自定义Exception
  6. JAVA数据类型的转换及数据的原反补三码
  7. 多用户远程连接mysql_Mysql权限控制 - 允许用户远程连接
  8. Dapper基础用法
  9. IntelliJ IDEA 中 右键新建时,选项没有Java class
  10. linux librtmp 编译,在linux系统下安装python librtmp包的实现方法
  11. [高通MSM8953_64][Android10]user版本默认获取root权限
  12. mysql错误:Can’t create TCP/IP socket (10106) 解决方法
  13. 普通最小二乘法(OLS)
  14. 全网最好的子网划分方法与例题解析
  15. 怎样修改IOS程序名称
  16. 布袋除尘器过滤风速多少_布袋除尘器-布袋除尘器过滤风速是指的什么?-宏大除尘设备...
  17. 基于图像的三维重建——深度图计算方法1-SGM/tSGM(9)
  18. Goto 桌面搜索 插件的使用
  19. springboot 秒杀系统(二)redis
  20. eBay信用评价体系全解析

热门文章

  1. Python处理海量手机号码
  2. latex 如何添加圆圈数字?
  3. nohup 命令的简单理解
  4. 纪中游记 - Day 3
  5. linux+加载迅雷插件,linux下使用aria2c + chrome插件取代迅雷
  6. 使用Java操作Redis
  7. lammps教程:create_box 命令详解
  8. Tuxedo中间件 配置维护记录
  9. 龙讯LONTIUM LT8711EH-C. DP1.2转HDMI2.04K60HZ带HDCP 国产芯片
  10. FFmpeg解码H264视频裸流(直接可用)