源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android Monkey压力测试详细介绍

  • 时间:2022-07-19 00:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android Monkey压力测试详细介绍
Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试 阅读目录 [list=1] [*]环境搭建[/*] [*]什么是Monkey[/*] [*]Monkey 用来做什么[/*] [*]Monkey程序介绍[/*] [*]Monkey 架构[/*] [*]Monkey弱点[/*] [*]Monkey 参数大全[/*] [*]Monkey 命令 基本参数介绍[/*] [*]Monkey 实例[/*] [*]Monkey 查看包名[/*] [*]Monkey  日志分析[/*] [*]必须重视Crash[/*] [/list] [b]环境搭建[/b] 安装Android SDK 并配置环境变量 http://pan.baidu.com/s/1jIlifbS [b]什么是Monkey[/b] 顾名思义,Monkey就是猴子,  Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。  猴子什么都不懂, 只知道乱敲 通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常 [b]Monkey 用来做什么[/b] Monkey 主要用于Android 的压力测试  自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash. [b]Monkey程序介绍[/b] (1) Monkey程序由Android系统自带,使用Java诧言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;   (2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;  (3)Monkey 命令启动方式:                a)可以通过PC机CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试               b)在PC上adb shell 进入Android系统,通过执行 monkey {+命令参数} 来进行Monkey 测试               c )  在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android终端模拟器  [b]Monkey 架构[/b] Monkey 运行在设备或模拟器上面,可以脱离PC运行(普遍做法是将monkey作为一个像待测应用发送 随机按键消息的测试工具。验证待测应用在这些随机性的输入面前是否会闪退或者崩溃) [img]http://files.jb51.net/file_images/article/201608/2016812103240404.png?2016712103252[/img] [b]Monkey弱点[/b] Monkey虽然可以根据一个指定的命令脚本发送按键消息,但其丌支持条件判断,也丌支持读取待测界 面的信息来执行验证操作。 [b]Monkey 参数大全[/b] [img]http://files.jb51.net/file_images/article/201608/2016812103412156.png?2016712103434[/img] [b]Monkey 命令 基本参数介绍[/b] -p <允许的包名列表>         用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果丌指定包, monkey将允许系统启动设备中的所有app。  指定一个包:adb shell monkey -p com.shjt.map 100   指定多个包:adb shell monkey -p fishjoy.control.menu  –p com.shjt.map  100  -v        用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下 表所示: Level 0  :  adb shell monkey -p com.shjt.map -v 100               // 缺省值,仅提供启动提示、测试完成和最终结果等少量信息   Level 1  :  adb shell monkey -p com.shjt.map -v  -v 100          // 提供较为详细的日志,包括每个发送到Activity的事件信息 Level 2  :  adb shell monkey -p com.shjt.map -v  -v  -v 100     // 最详细的日志,包括了测试中选中/未选中的Activity信息 -s(随机数种子)            用亍指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。  示例: monkey测试1:adb shell monkey -p com.shjt.map –s 10 100                monkey测试2:adb shell monkey -p com.shjt.map –s 10 100  --throttle <毫秒>            用亍指定用户操作(即事件)间的时延,单位是毫秒;如果丌指定这个参数,monkey会尽可能快的 生成和发送消息。 示 例:adb shell monkey -p com.shjt.map --throttle 3000 100   [b]Monkey 实例[/b] 用monkey 命令 对上海公交 app进行 性能测试 adb shell monkey –p com.shjt.map –throttle 100 –pct-touch 50 –pct-motion 50 –v –v 1000 >c:\monkey.txt  [b]Monkey 查看包名[/b] 手机中安装APK包名查看器  源码下的AndroidManifest.xml文件查看  aapt命令查看  [b] Monkey  日志分析[/b] 正常情况,  如果Monkey测试顺利执行完成, 在log的最后, 会打印出当前执行事件的次数和所花费的时间; // Monkey finished 代表执行完成\ [b]异常情况[/b] Monkey 测试出现错误后,一般的分析步骤 看Monkey的日志 (注意第一个swith以及异常信息等) 1. 程序无响应的问题: 在日志中搜索 “ANR” 2. 崩溃问题:在日志中搜索 “Exception”   (如果出现空指针, NullPointerException)  肯定是有bug Monkey 执行中断, 在log最后也能看到当前执行次数 [b]必须重视Crash[/b] 虽然Monkey测试有部分缺陷,我们无法准确地得知重现步骤, Monkey测试所出现的NullPointException,  都是可以在用户使用时出现的, 何时出现只是时间问题 理论上来说,  Monkey所有的Crash 都需要在发布前修复掉  以上就是对Android Monkey压力测试的文章整理,后续继续补充,谢谢大家的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部