稳定性测试
像一些物联网的产品,比如小爱音响,天猫精灵等。他们的系统都是Android系统。
monkey 命令
基本使用
adb shell monkey 1000
随机生成1000个事件。
针对整个手机进行随机事件操作。会作用所有的手机app。
指定app
运行monkey的时候 -p指定 包名
adb shell monkey -p org.cnodejs.android.md 1000
-vv 显示详细的执行日志
运行monkey的时候显示 详细的日志
adb shell monkey -p org.cnodejs.android.md -vv 1000
—throttle 事件延迟 (ms毫秒)
默认情况下 monkey 运行的时候速度比较快,添加延迟时间
adb shell monkey -p org.cnodejs.android.md --throttle 500 -vv 1000
保存日志到文件
adb shell monkey -p com.kugou.android --throttle 300 -vv 1000 > C:\Users\zengy\Desktop\sc\kuguo.log
运行过程中出现 应用闪退 或者 应用无响应。
日志中会有对应的报错信息。只需要将报错信息发给开发即可。
-s 种子值
在上次运行的时候,应用程序崩溃,开发修复之后给你一个新版本,对新版本进行复测。因为每次执行monkey的时候事件都是随机的,不能将上次的操作浮现。
通过查看上一次的运行日志。
1641626104025
上一次执行的时候,在日志中 保存的有seed 值。
本次运行跟上次使用同一个种子值即可。
adb shell monkey -s 1641626104025 -p org.cnodejs.android.md --throttle 500 -vv 1000
使用上一次的种子值进行运行。
相关开源
Android 智能monkey
https://github.com/bytedance/Fastbot_Android
复制文件到手机
将项目根目录下的 三个 jar 文件 复制到 手机的 /sdcard/目录下
adb push C:\Users\zengy\Desktop\Fastbot_Android\framework.jar /sdcard/framework.jar
adb push C:\Users\zengy\Desktop\Fastbot_Android\fastbot-thirdpart.jar /sdcard/fastbot-thirdpart.jar
adb push C:\Users\zengy\Desktop\Fastbot_Android\monkeyq.jar /sdcard/monkeyq.jar
复制libs 目录下的文件夹
adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\arm64-v8a /data/local/tmp/
adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\armeabi-v7a /data/local/tmp/
adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\x86 /data/local/tmp/
adb push C:\Users\zengy\Desktop\Fastbot_Android\libs\x86_64 /data/local/tmp/
执行命令
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
相关问题
- 平时你们做app的稳定性测试吗? 怎么做的?
使用monkey 来做Android的稳定性(压力)测试。
- 稳定性测试平时你运行多久?
平时晚上下班之后 开始运行,运行到第二天早上。