Monkey 是什么?

Monkey是Google提供的一个用于稳定性与压力测试的命令行工具。

Monkey路径:

路径:/System/framework/monkey.jar

启动脚本路径:/system/bin/monkey

1.首先我们先打开安卓模拟器

2.打开本地cmd命令窗口

3.输入命令查看 模拟器是否有连接上

adb devices      ,出现如下图所示说明已连接上

4.然后就可以输入 adb shell 命令 进入monkey的路径下去执行monkey test了

cd /system/framworke/        成功进入目录,然后再来找下是不是有monkey的jar包

5. 模糊查询含有monkey的命令:ls | grep monkey    ,可以看到里面是有monkey.jar包

6.我们再看下启动脚本     cd /system/bin/  成功进入目录,然后输入命令: ls | grep monkey 找下是不是有monkey 启动脚本

上图可以看出是有monkey的启动脚本的

由此上一节提到的环境变量的配置童鞋们也知道是做什么用的了

配置adb的环境

monkey是由adb命令启动的,所以要配置adb的环境

1.下载 Android SDK,解压

2.将SDK目录下的platform-tools 和 tools目录配置到系统换环境变量中(将变量配置好之后才能安装apk文件)

3.打开cmd窗口,输入adb,有adb帮助信息则配置成功

安装apk文件


首先 将需要进行测试的apk包拷贝到platform-tools 目录下

然后执行安装命令 adb install test.apk

要注意点的一点就是,执行安装命令的时候,需要进入该目录下,我这边的目录是

命令:E:

进入目录下,cd E:\Android\android-sdk\platform-tools

然后执行安装apk命令,出现下图 Success 表示安装成功,右侧的就是模拟器安装成功的app

命令格式:(输入命令之后,模拟器上会运行对应的指定操作)

1.PC 启动

>adb shell monkey [option] <count>          "[]"可选参数,可不填,"<>"里面的参数必填,不填会报错

2.shell端启动

> adb shell

>monkey [optinon] <count>

这两种方式有什么不同呢,第一种PC启动,结果可以保存在PC端;第二种手机端启动,结果只能保存在手机。

当然 运行monkey时候的log想要保存出来也是可以的

保存monkey运行的log

1.保存在PC中    adb shell monkey [option] <count> > d:\monkey.txt       例如:adb shell monkey 100 > d:\monkey.txt       (运行100次,日志保存在D盘,第2,第3一样的意思,就不举例了)

2.保存在手机中  monkey [option] <count> > /mnt/sdcard/monkey.txt

3.标准流与错误流分开保存

monkey [option] <count> 1> /mnt/sdcard/monkey.txt 2> /mnt/sdcard/error.txt

monkey test的话 首先是需要了解各个参数是干嘛的,各个参数的意义,再进行实践操作

adb shell monkey -help  查看帮助命令

adb shell pm list packages 列出所有apk的包名

下面来进行实操演练

手机端运行

首先进入adb shell

运营对应的apk文件 adb shell monkey -p com.dabai.app.im 100    ( -p 后面接apk包名  然后接次数)

上面红色框中就是报错的提示 运行19次后报错,因为上图没有加日志导出,下面是事件参数,这边就将各种参数导出日志的方法执行一遍

如果在执行过程中,运行次数过多,想要停止monkey的运行,那么就再打开一个cmd命令窗口

先查看出monkey的进程

adb shell ps | find "monkey"

查询出来的结果中 后面有跟着对应的apk包名

那么kill这个进程即可

adb shell kill +进程编号     例如我这边的是:adb shell kill 2189,执行后,就会结束运行了

Monkey事件参数

对应日志中的事件

对应命令(执行的效果的话 童鞋们最好自己执行然后对照着模拟器观察就可以知道效果了)

随机种子 -S

adb shell monkey -p com.dabai.app.im -s 100 -v -v 100   (-S后面的100是随机序列号也就是对应seed编号名称,-V后面的100代表的是运行次数)下次如果还要查看该seed的执行过程,就在-s后面加100即可

固定延时 --throttle<毫秒>

adb shell monkey -p com.dabai.app.im --throttle 200 -v -v 100

随机延时 --randomize-throttle

adb shell monkey -p com.dabai.app.im --throttle 200 --randomize-throttle -v -v 100      (这句话的意思是0-200毫秒的随机延时)

touch    点击事件

adb shell monkey -p com.dabai.app.im --pct-touch 100--throttle 200 --randomize-throttle -v -v 100   (--pct是百分比的简称,touch后面跟的100 意思是 100%的操作都是执行这个touch)

motion    移动事件

adb shell monkey -p com.dabai.app.im --pct-motion 100--throttle 200 --randomize-throttle -v -v 100

trackball 轨迹球事件

adb shell monkey -p com.dabai.app.im --pct-trackball 100--throttle 200 --randomize-throttle -v -v 100

nav 导航时事件(上下左右键的意思)

adb shell monkey -p com.dabai.app.im --pct-nav 100--throttle 200 --randomize-throttle -v -v 100

majornav 主要导航事件

adb shell monkey -p com.dabai.app.im --pct-majornav 100--throttle 200 --randomize-throttle -v -v 100

下面的事件都是同理的执行,还有一个地方就是,所有的导航事件都是可以连用的,只要将百分比设置的不同即可

Android自动化压力测试之Monkey Test (三)的更多相关文章

  1. Android自动化压力测试之Monkey Test Android常见的错误类型及黑白名单的使用方法(四)

    Android常见的错误类型有两种 1.ANR类型 1)在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸) 2)BroadcastReceiver在10秒内没有执行完毕 2.Crash类型 1)异 ...

  2. Android自动化压力测试之Monkey Test 异常解读(五)

    monkey结果分类 monkey结果详细解读 monkey运行log输出后,得读懂日志内容,定位错误 lgo日志顺序输出分别为  测试命令信息.随机事件流(11种事件).异常信息(anr.crash ...

  3. android 自动化压力测试-monkey 1 实践

    Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey ...

  4. android 自动化压力测试-monkey 2 获取程序包名

    monkey 1 中我们写到: C:\Users\chenshan>adb shell shell@hwG750-T20:/ $ monkey -p cn.emoney.acg -v 500 说 ...

  5. android 自动化压力测试-monkey 3 命令参数

    使用monkey help 命令查看命令参数,如下: C:\Users\chenfenping>adb shell monkey -help usage: monkey [-p ALLOWED_ ...

  6. Android自动化压力测试图解教程——Monkey工具

    [置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 ...

  7. Android自动化压力测试图解教程——Monkey工具 (转)

    有时候我们需要对一个软件进行压力测试,检查该软件的性能.如果是人工进行测试的话,效率会低很多,而且会比较枯燥.这时,Android中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作. ...

  8. Android APP压力测试-Monkey

    压力测试-Monkey学习 Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随 ...

  9. Android自动化压力测试快速入门教程(图解)——MonkeyRunner

    一.MonkeyRunner测试环境配置(转自) 1.  android-sdk 下载地址:http://www.android-doc.com/sdk/index.html 下载完成后,只需要解压就 ...

随机推荐

  1. LightOJ 1236 - Pairs Forming LCM(素因子分解)

    B - Pairs Forming LCM Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu ...

  2. qt_文本编辑器实现_附带详细注释和源码下载

    源码下载: 链接: http://pan.baidu.com/s/1c21EVRy 密码: qub8 实现主要的功能有:新建,打开,保存,另存为,查找(查找的时候需要先将光标放到最下面位置才能查全,不 ...

  3. SQLServer自定义函数简单演示

    CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ][ type_schema_name. ] par ...

  4. c#三层架构登陆实例

    很早之前,就听说过三层结构了.当时只知道 三层结构 是把 系统的 界面  跟 数据库操作等不相关的程序分别开来.原来这么简单的实现,确实传说中的 三层结构啊. 首先,先来看一下是哪三层.表示层(UI, ...

  5. NYOJ题目273字母小游戏

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAswAAAIZCAIAAAA9QP7RAAAgAElEQVR4nO3dPXKjzBqG4bMJ5VqIU2

  6. php数组的创建及操作

    //数组的创建 //1 $usernames = array('李彦宏','周宏伟','马云','俞敏洪','李开复'); echo $usernames; //array,打印类型 echo '&l ...

  7. 20145206《Java程序设计》实验三实验报告

    20145206<Java程序设计>实验三实验报告 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运 ...

  8. Sublime Text 无法使用Package Control的解决方法 以及 常用的插件安装过程

    大概一个月之前给 Macbook air 装 Sublime Text 3 的时候,遇到过这个问题,当时解决了,现在回想,感觉忘的七七八八了,赶紧趁着还没有全忘光的时候记下来,当时的过程记得不一定准确 ...

  9. .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>

    无论是常用的List<T>.Hashtable还是ListDictionary<TKey,TValue>,在保存值的时候都是无序的,而今天要介绍的集合类SortedList和S ...

  10. Java集合源码学习(四)HashMap分析

    ArrayList.LinkedList和HashMap的源码是一起看的,横向对比吧,感觉对这三种数据结构的理解加深了很多. >>数组.链表和哈希表结构 数据结构中有数组和链表来实现对数据 ...