monkey的基本定义及基本使用(菜鸟学习中)

一.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] <INTENT> 来进行确认,它的含义是列举出所有包含<INTENT>的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

猜你喜欢

转载自blog.csdn.net/weixin_42380194/article/details/83624398