:文章有说的不对的地方,大家可以帮忙指出!
Monkey 测试基本操作介绍(一)
Monkey 测试日志讲解(二)
Monkey+Logcat+DDMS 内存泄漏分析以及定位(三)
Monkey+Logcat+traces 查找以及分析定位 ANR 问题(四)
Monkey+battery-historian 电量测试(五)

monkey 测试简介

  1. 存放路径:Monkey 程序是 Android 系统自带的,由 Java 语言写成,在 Android 文件系统中的存放路径是: /system/framework/monkey.jar。
  2. 大致操作流程:通过名为 “monkey” 的 Shell 脚本去启动 Monkey.jar 程序(shell 脚本在 Android 文件系统中 的存放路径是:/system/bin/monkey),在你指定的 APP 应用上模拟用户点击,滑动,输入等操作以极快的速度来对设备程序进行压力测试,检测程序是否会发生异常,然后通过日志进行排错。
  3. 主要目的:测试 app 是否会是否会 Crash。
  4. 操作命令格式:adb shell monkey {+ 命令参数}

获取 Android 包名方法:(注意:请开启手机开发者模式,请开启手机 USB 调试模式)

monkey 常用操作命令简介

  1. -p 包名:指定应用程序。例如:adb shell monkey -p 包名 事件总数
  2. -v:打印 log 级别,-v 越多日志信息越详细,最多支持 3 个。例如:adb shell monkey -p 包名 -v -v -v 事件总数
  3. -s:伪随机数生成器的 seed 值,通俗的说就是个标记,后面跟数字,例如:执行 adb shell monkey -s 1 -p 包名 事件总数,这个我标记了-s 1,命令操作完之后,我发现有日志报错,我想重新执行这个 monkey 操作,那你就可以继续执行这个命令,排错时常用。
  4. -f:后接测试脚本名,例如:adb shell monkey -f 脚本名 事件总数
  5. --throttle:翻译减速的意思,后面接时间,单位为 ms,,表示事件之间的固定延迟,如果不接该项,monkey 将不会延迟,例如:adb shell monkey --throttle 500 -p 包名 事件总数
  6. --pct-事件类别 11 个事件百分比控制(有的是 9 种事件,没有--pct-pinchzoom,--pct-rotation 事件)由安卓 SDK 决定

7.--ignore-crashes:翻译忽略崩溃,当应用程序崩溃或发生失控异常时,monkey 将继续运行直到计数完成。如果不设置此项,monkey 遇到上述崩溃或异常将停止运行。
8.--ignore-timeouts:翻译忽略超时,当应用程序发生任何超时错误(如 ANR,即 Application Not Responding) 时,monkey 将继续运行直到计数完成。如果不设置此项,monkey 遇到此类超时将停止运行。

以上罗列的就是常用的操作,其他操作命令参考:https://www.cnblogs.com/chengchengla1990/p/5641086.html

monkey 测试中,如何终止运行:

log 日志导出


↙↙↙阅读原文可查看相关链接,并与作者交流