安卓App压力测试 - Monkey的使用

原创 2015年11月21日 11:09:58

Monkey是安卓开发工具包SDK自带的一个命令行工具,可用于安卓App的压力测试,其原理是通过命令行向手机发送随机事件的指令,随机事件包括点击,划屏和输入等操作,这些操作都是随机不可控的,可控的是需要操作的App,每次操作间隔的时间以及随机事件的次数等。

Monkey的使用步骤是:

  1. 安卓手机装好待测App,跟电脑连接,或者从SDK中打开安卓模拟器
  2. 打开命令行,输入adb start-server开启adb服务
  3. 输入adb devices测试手机连接是否正常
    这里写图片描述
  4. 输入adb shell进入手机shell界面
    这里写图片描述
  5. monkey -p {App包名} {次数}
    第5步就是调用monkey命令对安卓App进行压力测试。
    例如:monkey -p com.tencent.mobileqq 100
    即对包名为com.tencent.mobileqq的App发送100次随机事件的命令,发送完成后手机会自动运行该App并进行一系列随机操作。
    这里写图片描述

Monkey命令的扩展:
monkey命令还可以带其它参数,如–throttle 150,这个参数表示每个随机事件之间的间隔时间为150毫秒。
monkey -p com.tencent.mobileqq –throttle 150 100
表示一百个随机事件,每个事件间隔时间150毫秒

还可以设置输出的log的级别,使用参数 -v 10,如果没有调用这个参数,默认是-v 0,也就是说除了启动App,提示测试完成和最终结果,没有其它详细信息了,这里不利于App崩溃原因的追踪。数值越大,log也就越详细。
monkey -p com.tencent.mobileqq -v 10 100

如果想把运行的log保存到本地,可以不需要进入到shell界面中,直接用adb命令连起来写,例如:
adb shell monkey -p com.tencent.mobileqq 100 > c:\monkey\test.txt
这里写图片描述

查看该路径下面的文件
这里写图片描述

查看txt文本文件
这里写图片描述

一般来说,我们可以一次发送5万次随机事件的请求,每个请求之间间隔150毫秒,完成这个测试大概需要40分钟左右,完成以后就可以在设置的本地路径下面找到报告的文本文件,若出现App崩溃的问题,会有详细的log记录。
这里写图片描述
这里表示腾讯QQ在执行第9061次时间的时候发生了崩溃,我们只需要向App开发组提供这份log就可以去跟踪崩溃的原因了。

综上,我们做安卓压力测试的一个完整命令是
adb shell monkey -p com.tencent.mobileqq -v 10 –throttle 150 50000 > c:\monkey\test.txt

另外有一个小彩蛋,在执行这个命令的时候,由于安卓手机可以下来打开通知栏,因手机的不同,播放音乐也会在通知栏里面,很可能会点到播放音乐,所以采用真机测试的时候,将手机调为振动或者无声吧,如果想制作气氛并且把放歌的责任推卸到monkey身上,请无视上面的建议。
还有其它的参数,比如设置点击屏幕,home键,back键,音量键,划屏和输入这些操作的比例,也可以实现,因为使用不太多,这里就不详细介绍了。

版权声明:本文为博主原创文章,未经博主允许不得转载,如有任何问题,请与本人联系。

IOS App压力测试 - Smart_monkey的安装和使用

打开Mac的终端并输入 /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mast...
  • wuxuehong0306
  • wuxuehong0306
  • 2016年03月23日 15:13
  • 7470

Android APP压力测试(一)之Monkey工具介绍

1、Monkey简介 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对APP进行压...
  • a357339414
  • a357339414
  • 2016年07月30日 14:34
  • 1849

安卓App压力测试 - Monkey的使用

Monkey是安卓开发工具包SDK自带的一个命令行工具,可用于安卓App的压力测试,其原理是通过命令行向手机发送随机事件的指令,随机事件包括点击,划屏和输入等操作,这些操作都是随机不可控的,可控的是需...
  • zhan10001
  • zhan10001
  • 2017年07月06日 16:09
  • 221

IOS App压力测试 - Smart_monkey的安装和使用

打开Mac的终端并输入 /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mast...
  • wuxuehong0306
  • wuxuehong0306
  • 2016年03月23日 15:13
  • 7470

MonKey App 压力测试 (中级篇)《Monkey Script的使用》

什么是monkey script Monkey script是按照一定的语法规则编写有序的用户事件流并适用于monkey命令工具的脚本。 前面monkey 测试基本是简单的,在使用中很多地方都用不上...
  • ccc920123
  • ccc920123
  • 2016年11月28日 13:55
  • 827

Android APP压力测试(一) 之Monkey工具介绍

Android APP压力测试(一) 之Monkey工具介绍     本文主要介绍Monkey工具。Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟...
  • eva980636
  • eva980636
  • 2017年04月11日 15:03
  • 192

App 压力测试——Monkey Script常用命令介绍

有时候我们会自己写一些脚本来进行App压力测试。 这时候用到一个执行脚本文件的命令:adb shell monkey -f #scriptfile就是你的脚本文件 #event-count就是脚本文...
  • MTbaby
  • MTbaby
  • 2017年12月14日 14:21
  • 95

Android APP压力测试 之Monkey日志自动分析脚本

[目录] 1、Monkey日志分析脚本 2、脚本原理 3、操作实例     1、Monkey日志分析脚本 1)、脚本文件:Monkey_Log分析.bat ...
  • flb911
  • flb911
  • 2016年03月13日 11:37
  • 495

Android App压力测试之Monkey

本文为慕课网《Android App压力测试》的学习笔记,视频地址 http://www.imooc.com/video/13007 Monkey是发送伪随机用户事件的工具。 MonkeyScr...
  • Fight_Rain
  • Fight_Rain
  • 2017年04月28日 22:22
  • 686

Android APP压力测试-Monkey

前言   本文主要介绍Monkey工具。Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动、按键等操作来对设备上的程序进行压力测试,检测程序多久...
  • wmlg21
  • wmlg21
  • 2016年07月05日 15:23
  • 120
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安卓App压力测试 - Monkey的使用
举报原因:
原因补充:

(最多只允许输入30个字)