手机稳定性monkey工具

Monkey 简介

Monkey 在英文里地含义是“猴子”,在测试行业对应有一个术语叫“猴子测试”,那么什么是“猴子测试”

  • Android自带命令行工具,运行在模拟器或实际设备中
  • 向被测应用发送伪随机事件流(如按键、触屏、手势等)
  • 通过 monkey 用随机重复的方式来对应用程序进行一些稳定性、健壮性方面的测试

Monkey 原理

  • 利用 socket 通讯(Android 客户端和服务器以 TCP/UDP 方式)
  • 使用的事件流数据流是随机的,不能自定义
  • monkey 是用 Java 语言写成,名为 Monkey.jar
  • 通过名为 monkey 的 shell 脚本启动执行,shell脚本的存放路径为: /system/bin/monkey

   adb shell monkey -p com.parkingwang.business --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 12358 --throttle 200 --ignore-crashes --ignore-timeouts -v

80000>D:\专项测试\log.txt

调试参数

  以下命令主要用于控制在 monkey 命令执行过程中的一些调试选项。 其中 --ignore-crashes 和 --ignoretimeouts 在长时间运行(比如下班后运行几个小时),可以保证在运行过程

中遇到崩溃等问题的时候,依然能执行剩余的指令。避免刚开始执行就遇到 Crash 和 ANR 导致后续指令不会执行。

 

指定时间类型百分比参数

  monkey 随机发送的命令中包含各种随机事件,各种类型的事件按照某种比例产生。如果想要指定某种类型的事件 更多一些可以指定该事件的百分比。

  # 单个参数设置百分比 adb shell monkey -p com.huomaotv.mobile --pct-appswitch 20 10000# 多个参数设置百分比 adb shell monkey -p com.huomaotv.mobile --pct-appswitch 20

--pct-rotation 20 --pcttouch 30 --pct-motion 20 10000注意: 参数后面紧接百分比 ,百分比的总量不能大于 100%

 

 

 

日志分析

 adb shell monkey -p com.parkingwang.business --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 12358 --throttle 200 --ignore-crashes --ignore-timeouts -v

80000>D:\专项测试\log.txt

  在命令的最后,加上 > 重定向到本地文件。 d:/monkey.log 放在 d 盘的根目录

  那么对于 monkey 跑完之后,我们要如何去确认有没有出现 bug 呢? 最直观简单的方式就是通过搜索以下关键字:

  • 1. 程序无响应的情况:搜索关键字“ANR in”
  • 2. 崩溃的情况1:搜索关键字“CRASH”
  • 3. 崩溃的情况2:搜索关键字“Exception”
  • 4. 内存溢出的情况:搜索关键字“OOM”
  • 5. 测试成功的情况:搜索关键字“Monkey finished”
  • 6. 如果出现空指针 NullPointerException ,就一定是 bug

 

 

posted @ 2021-11-05 11:35  wuyikai  阅读(218)  评论(0)    收藏  举报