稳定性测试

像一些物联网的产品,比如小爱音响,天猫精灵等。他们的系统都是Android系统。

monkey 命令

基本使用

  1. adb shell monkey 1000

随机生成1000个事件。
image.png
针对整个手机进行随机事件操作。会作用所有的手机app。

指定app

运行monkey的时候 -p指定 包名

  1. adb shell monkey -p org.cnodejs.android.md 1000

image.png

-vv 显示详细的执行日志

运行monkey的时候显示 详细的日志

  1. adb shell monkey -p org.cnodejs.android.md -vv 1000

image.png

—throttle 事件延迟 (ms毫秒)

默认情况下 monkey 运行的时候速度比较快,添加延迟时间

  1. adb shell monkey -p org.cnodejs.android.md --throttle 500 -vv 1000

保存日志到文件

  1. adb shell monkey -p com.kugou.android --throttle 300 -vv 1000 > C:\Users\zengy\Desktop\sc\kuguo.log

image.png
运行过程中出现 应用闪退 或者 应用无响应。
日志中会有对应的报错信息。只需要将报错信息发给开发即可。

-s 种子值

在上次运行的时候,应用程序崩溃,开发修复之后给你一个新版本,对新版本进行复测。因为每次执行monkey的时候事件都是随机的,不能将上次的操作浮现。
通过查看上一次的运行日志。
1641626104025
上一次执行的时候,在日志中 保存的有seed 值。
本次运行跟上次使用同一个种子值即可。

  1. adb shell monkey -s 1641626104025 -p org.cnodejs.android.md --throttle 500 -vv 1000

使用上一次的种子值进行运行。

相关开源

Android 智能monkey

https://github.com/bytedance/Fastbot_Android

Fastbot_Android.zip

复制文件到手机

image.png
将项目根目录下的 三个 jar 文件 复制到 手机的 /sdcard/目录下

  1. adb push C:\Users\zengy\Desktop\Fastbot_Android\framework.jar /sdcard/framework.jar
  1. adb push C:\Users\zengy\Desktop\Fastbot_Android\fastbot-thirdpart.jar /sdcard/fastbot-thirdpart.jar
  1. adb push C:\Users\zengy\Desktop\Fastbot_Android\monkeyq.jar /sdcard/monkeyq.jar

复制libs 目录下的文件夹

image.png

  1. adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\arm64-v8a /data/local/tmp/
  2. adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\armeabi-v7a /data/local/tmp/
  3. adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\x86 /data/local/tmp/
  4. adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\x86_64 /data/local/tmp/

执行命令

  1. adb shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar:/sdcard/fastbot-thirdpart.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p org.cnodejs.android.md --agent reuseq --running-minutes 10 --throttle 500 -v -v
  • -p org.cnodejs.android.md 应用的包名
  • —running-minutes 10 运行时间 (分钟)

IOS 智能Monkey

https://github.com/bytedance/Fastbot_iOS/blob/main/Doc/handbook-cn.md


相关问题

  1. 平时你们做app的稳定性测试吗? 怎么做的?

使用monkey 来做Android的稳定性(压力)测试。

  1. 稳定性测试平时你运行多久?

平时晚上下班之后 开始运行,运行到第二天早上。

思维导图

移动端-Monkey稳定性测试 - 图7