一.monkey的定义

 1.(转自 https://blog.csdn.net/beyond_f/article/details/78543070 )

   Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar;
   Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/         monkey;
   通过在CMD窗口中执行: adb shell monkey{+命令参数}来进行Monkey测试。

  2.Monkey是Android的SDK中附带的一个命令行工具

   它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

二、 Monkey的特征(此段为转载https://www.cnblogs.com/yyangblog/archive/2011/03/10/1980068.html)

1、 测试的对象仅为应用程序包,有一定的局限性。

2、 Monky测试使用的事件流数据流是随机的,不能进行自定义。

3、 可对MonkeyTest的对象,事件数量,类型,频率等进行设置。

三.、monkey基本使用

前提:

pc端已经安装adb命令(只执行一个包名可以不进行root)

主题:

1.手机连接电脑

2.在pc端输入adb devices

List of devices attached

(若不显示设备信息:我的电脑右键-设备管理器-右侧Android phone-右键选择属性-详细信息-选择硬件id-记录VID值-进入到C:\Documents and Settings\(你的用户名)下。进去找到adb_usb.ini文件-把你的VID值写进去如下图:然后重新连接输入命令就可以了)

3.查看包名list

adb shell pm list packages(可看到包名如下)

(若你只有apk,不知道包名。还有一种方法:aapt dump badging[+apk] 也会得到包名如下:)

(若不确定包是否已安装,可以用adb shell pm list packages [options] 来进行确认,它的含义是列举出所有包含的package。    e.g. adb shell pm list packages com.hiveview.content)

4.选择你需要测试的包名(例如com.ktcp.tvvideo)输入简单命令如下:(部分日志如下:)

  adb shell monkey -p 包名 [参数] -v (-v -v) 执行次数 >导出log文件   例:

adb shell monkey -p com.ktcp.tvvideo -v 10000 > C:\Users\Administrator\qa.txt

四、参数解释

1.-p:指的是package。

2.-s :指定产生随机事件种子值,相同的seed值产生相同的事件序列。(通俗的说:上图中第一行的seed值为500,有时使用monkey测试会出现崩溃,输入相同的seed值再进行测试,可以对崩溃的测试进行复现,方便找到bug原因)

    adb shell monkey -p 包名 -s (seed) (-s 500  --ignore-crashes --ignore-timeouts)-v (envent-count)> aa.txt

     如:adb shell monkey -p com.ktcp.tvvideo -s 500 -v 10 >aa.txt //重复(seed值要相同)第一次出现崩溃的操作

3.-v:作用:命令行上的每一个-v都将增加反馈信息的详细级别。
    Level0(默认),除了启动、测试完成和最终结果外只提供较少的信息。
    Level1,提供了较为详细的测试信息,如逐个发送到Activity的事件信息。
    Level2,提供了更多的设置信息,如测试中选中或未选中的Activity信息。

4.10000:指的是执行10000次事件

解释:com.ktcp.tvvideo 产生时间序列的种子值:500 忽略程序崩溃 、 忽略超时 , 产生 10000个事件 。

具体参数解释:(转http://www.cnblogs.com/biang/p/5309040.html)

完整实例:adb shell monkey -p com.zld.zld_face_rec_app --throttle 100 --pct-touch 70 --pct-motion 5 --pct-nav 0 --pct-trackball 0 --pct-majornav 5 --ignore-crashes --ignore-timeouts --pct-appswitch 10 --pct-syskeys 5 -v-v-v 100 >./monkey_log.txt

更多相关文章

  1. Android事件分发机制的探索与发现之总结篇
  2. 解决聊天页面解决软键盘遮挡住输入框,和输入法把整个页面顶上去的
  3. 如何申请个人Google API Key用于Android真机上发布安装
  4. 带倒计时提示的弹框
  5. android 监听EditText 的变化
  6. ListView无法响应OnItemClickListener事件
  7. Android(安卓)Monkey Test
  8. android CheckBox控件的定义及事件监听
  9. InputManagerService

随机推荐

  1. android中ColorStateList及StateListDraw
  2. android对象池之Message
  3. Android Framework 修改设备连接电脑时的
  4. 【Android笔记】探究活动②使用Intent在
  5. Android SVG 兼容低版本API
  6. android studio 删除、导入jar包
  7. eclipse下 Failed to find an AVD compat
  8. Android对话框
  9. eclipse android 错误列表
  10. android从xml创建控件(按钮)或直接创建控件