目录

1、Monkey简介

2、monkey程序介绍

3、Monkey测试前准备

4、Monkey测试命令

5、 Monkey测试结果(pass或者fail)的判断

6、Monkey Log的简单分析

7、汇总如图


1、Monkey简介

Monkey是Androld中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

2、monkey程序介绍

(1)Monkey程序由Android系统自带,使用java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar
(2)Monkey.jar程序是由一个名为“monkey”的shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;我们就可以通过在cmd窗口执行adb shell monkey{+命令参数}来进行monkey测试了。
(3)monkey中的一些常用指令
(4)例如:怎样进入手机路径下win+r进入命令窗口输入adb shell    输入ls

3、Monkey测试前准备

1、执行Monkey测试前,一定要确保屏幕处于解锁状态。
2、设置屏幕超时时间为最大时间(设置->显示->休眠->30分钟或者从不)。以防测试过程中手机锁屏,影响Monkey测试。
3、打开usb调试,确保adb可以连接。
4、抓取adb log,(如果出现anr,需要将/data/anr下的anr log拿出来,需要手机有root权限)。
Application not responsing

4、Monkey测试命令

(1)adb shell monkey -p 包名 --ignore-timeouts --ignore-crashes -v -v --throttle 200 1000000
例如我们的App进行测试,命令如下:
adb shell monkey -p 包名 --ignore-timeouts --ignore-crashes--ignore-security-exceptions -v -v --throttle 200 1000000
注:我们在测试过程中,建议不要忽略这些异常,尽可能的暴露出app中存在的问题,如果选择忽略出现crach,anr等现象,手机中就不会有提示,不便于判断测试是否正常。忽略异常是想要对此模块执行完成,尽可能多的发现更多问题,但是这个问题的判断只能通过log去分析,不便于测试的判断。所以我们测试建议使用下边的命令:
adb shell monkey -p 包名 -v -v -v --throttle 500 360000 >D:monkeylog.txt

(2)-p
用于约束限制,用此参数指定一个或多个包(Package)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。

(3)ignore-crashes
用于指定当应用程序崩溃时(Force & Close 错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,知道事件计数完成。

(4)ignore-timeouts
用于指定当应用程序发生ANR(APPlication No Responding)错误时Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。

(5)ignore-security-ecxeptions
用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。

(6)-v
用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下所示:
①日志级别Level0
示例:adb shell monkey -p com.android.contacts -v --throttle 200 1000000
缺省值,仅提供启动提示、测试完成和最终结果等少量信息。
②日志级别Level1
示例:adb shell monkey -p com.android.contacts -v -v --throttle 200 1000000
提供较为详细的日志,包括每个发送到Activity的事件信息。
③日志级别Level2
示例:adb shell monkey -p com.android.contacts -v -v -v --throttle 200 1000000
提供最详细的日志,包括了测试中选中/未选中的Activity信息。

(7)throttle
在每次操作(即事件)间的延时,单位是毫秒,一般我们设置延时时间为500ms。比较接近人的手动操作,如果在测试中发生了anr,可以将间隔设置为500ms,进行测试验证。

(8)-s
s其实就是seed,它是随机数的事件序列定一个值,若出现问题下次可以重复同样的序列进行排错。例如下面其实就是指定了一个seed为1080的随机事件序列
adb shell monkey -s 1080 -p com.android.contacts -v -v --throttle 200 1000000

5、 Monkey测试结果(pass或者fail)的判断

adb shell -p cn.xiaochuankeji.tieba -v -v -v --throttle 500 200

6、Monkey Log的简单分析

adb shell monkey -p 包名 -v -v -v --throttle 500 100>路径\文档名

7、汇总如图

Monkey测试(APP稳定性)相关推荐

  1. monkey测试_爱码小士丨 APP稳定性测试(附视频详解)

    在实际的测试过程中,主要是对系统的功能来进行测试,用于校验功能的正确性 还需要考虑到系统在未修改的状态下,是否能够稳定运行,即崩溃.闪退.重启.系统异常等等等地情况 在APP中,稳定性测试一般是交由M ...

  2. APP稳定性测试利器 Monkey介绍、实战使用、日志分析

    第一.Monkey简介 Monkey是什么? Monkey 是安卓官方提供的一个命令行工具,可以运行在Android模拟器和实体手机上.通过Monkey 来模拟用户的触摸.点击.滑动.系统按键的操作, ...

  3. APP稳定性测试工具monkey

    monkey简介 monkey是一款APP的自动化测试工具,monkey是猴子的意思,所以从原理上说,它的自动化测试就类似猴子一样在软件上乱敲按键,猴子什么都不懂,就爱搞乱,monkey原理也是类似, ...

  4. 九、App稳定性测试--Monkey

    目录 1.Monkey是什么? 2.Monkey组成 3.Monkey测试的目的 4.Moneky运行环境搭建 5.Monkey执行前准备命令: 6.工作中具体使用 7.Moneky结果分析 8.Mo ...

  5. android 稳定性测试工具,APP 稳定性测试工具-Fastbot_Android详解

    基于monkey的二次开发,约束monkey的行为,比monkey更智能. 写在开始 monkey测试的随机性概率过大,导致其效率并不能达到预期.有时可能遍历了很久,依旧与最有可能发生问题的部分擦肩而 ...

  6. 操作指令详解_爱码小士丨 APP稳定性测试(附视频详解)

    在实际的测试过程中,主要是对系统的功能来进行测试,用于校验功能的正确性 还需要考虑到系统在未修改的状态下,是否能够稳定运行,即崩溃.闪退.重启.系统异常等等等地情况 在APP中,稳定性测试一般是交由M ...

  7. 说透APP稳定性测试

    最近面试了一些测试候选人,聊到app的稳定性测试相关话题时,比如什么是app稳定性测试,app稳定性测试的目的,在什么时候执行稳定性测试最佳等,发现还是有很多的测试同学对app稳定性测试了解比较浅,甚 ...

  8. 互联网测试必须要知道的App稳定性测试

    App稳定性测试 稳定性测试就是指软件长时间的持续运行,系统版本是否稳定,是否能否持续的为用户提供服务. 指标: 异常的次数 异常的频率 App的稳定性测试如何实施? 首选Monkey Monkey是 ...

  9. APP稳定性测试神器之Monkey-随机事件测试

    APP稳定性测试神器之Monkey-随机事件测试 Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击.滑动.Application切换 ...

最新文章

  1. linux小脚本批量添加/删除用户
  2. Windows 8 开发31日-第04日-新控件
  3. Bootstrap进度条堆叠
  4. docker实践第二版pdf 网盘_【漫画】什么是 docker?docker 应用场景解析
  5. 数据挖掘比赛笔记总结
  6. 中学办公室计算机管理制度,中学多媒体室使用管理制度条例
  7. 解决办法:无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
  8. python语言是编程还是脚本_编程语言和脚本语言有什么区别?
  9. 计算机自带扫雷游戏玩不了,Win7 32位系统扫雷游戏打不开如何解决【图文教程】...
  10. imagej得到灰度图数据_imageJ 使用教程之样本长度测量
  11. 【提升笔记本续航】WIN10笔记本打开电源选项中的处理器电源管理
  12. Django文档地址
  13. HC-SR04超声波模块测距原理与原理图
  14. TalkingData
  15. 特殊字符大全-希腊字母俄文注音拼音日文序集心型方形点数绘表(转载)
  16. 详解 C语言 青蛙跳台阶问题
  17. python爬虫模拟登陆腾讯课堂
  18. 景区宣传片制作的作用
  19. Android 天气APP(十一)未来七天的天气预报、逐小时预报、UI优化
  20. 好书推荐-《策略思维》

热门文章

  1. JavaScript 数字转汉字大写 (JS金额大写)
  2. python如何生成excel文件_[原创] 如何用python3自动随机生成Excel文件内容
  3. 导轮式机器人_平面轮式机器人轨迹规划的解析式二阶导连续,是否代表机器人速度连续?...
  4. 滚珠螺杆的四种安装方式
  5. ThunderBird雷鸟 只能收件无法寄件解决
  6. 游戏本天梯_实况足球手游国服5月天梯胜率榜+极品补丁一枚
  7. 瓦片坐标系、经纬度、像素坐标的转换
  8. pod install时出现 Unable to find a specification for `xxxx`
  9. 怎么取消wps云服务器_wps文件另存不要到云服务器(wps怎么另存文件)
  10. 智能合约语法详谈——this.|view 函数 pure 函数|fallback函数