安卓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键,音量键,划屏和输入这些操作的比例,也可以实现,因为使用不太多,这里就不详细介绍了。

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

相关文章推荐

(原创)如何对APP服务端进行压力测试

版权声明:本文为原创文章,转载请先联系并标明出处 APP性能测试分为客户端性能测试和服务端性能测试,客户端的性能测试主要是针对启动快慢、耗电量、耗流量、内存使用等指标进行评估,目前主流的APP客户端...

实例 -- Loadrunner实现Android / IOS 手机APP压力测试

随着手机APP用户量的增大,大的手机APP一般都需要进行压力测试,这几天用了Loadrunner 12进行了手机APP的压力测试,整理了下,大家可以参考参考怎样给Andorid / IOS手机APP进...

Android App专项测试-压力测试篇

小伙伴们大家好,今天主要分享的主题是Android App专项测试。如何进行Android App专项测试压力测试呢?我们主要通过Android平台的一门工具Monkey。在学习本门课程之前,如果你具...

APP压力测试入门教程

Daniel Knott 用过各种不同编程语言和软件质量保证工具。他在软件开发和测试方面干了七年,自2010年,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议,他...

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

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

APP压力测试入门教程

Daniel Knott 用过各种不同编程语言和软件质量保证工具。他在软件开发和测试方面干了七年,自2010年,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建...

Android Monkey测试入门

Monkey是一款通过命令行来对我们APP进行测试的工具,可以运行在模拟器里或真机上。它向系统发送伪随机的用户事件流,实现对正应用程序进行压力测试。官方介绍 :https://developer.an...
  • true100
  • true100
  • 2016年10月14日 11:27
  • 11305

Android稳定性测试利器-Monkey介绍及环境配置

 一、什么是Monkey Monkey是Android中的一个命令行工具,可以运行在Android模拟器或手机设备中。它向系统发送伪随机的用户事件流(如屏幕的点击、滑动和系统按键操作等),实现...

Android命令Monkey压力测试,详解

支持原创,博客原文:http://blog.csdn.net/huangbiao86/article/details/8490743 shell, monkey, system, Android, ...
  • TskyFree
  • TskyFree
  • 2014年12月11日 16:43
  • 18175

Android Monkey压力测试基本使用

MonKey        先打一针预防针,用monkey做app的压力测试操作起来真的很简单,知道了,也就2分钟左右(可能还不到)就搞定了。 1、MonKey是什么? 答:翻译过来就是...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安卓App压力测试 - Monkey的使用
举报原因:
原因补充:

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