心 得 : 因 工 作 原 因 , 学 习 了 android 自 带 的 两 个 测 试 工 具 monkey 和
monkeyrunner 学习了两个星期下来,我的理解很简单。
Monkey :(压力测试,也就是极限性测试)不断发送伪随机事件,赋予 adb 包操作;
但缺点是不能自定义事件,扩展性不高。
Monkeyrunner:(功能测试,针对一次性操作)可自定义事件,扩展性高;缺点:
暂时不支持中文输入;不适合处理连续的操作,一旦进入应用程,因为 drag 方法不稳定,
跳转就需要用按钮来代替,这样无法模拟用户真实的操作。UI 一但改变,脚本无法使用。
因为基于 UI 的测试,对所有测试系统的稳定性要求比较高,如果系统或者软件非常容易崩
溃,就会终端测试脚本,无法自动化。
在百度寻找资料时,曾看到有人这样比喻两者的区别,说:其实两者除了名称上差不
多以外,根本就是两个不同的测试工具;Monkey 是运行在设备或模拟器的 adb shell 中
生成或系统的伪随机事件,而 monkeyrunner 是在工作站上通过 API 定义的特定命令和
事件控制设备或模拟器;Monkey 测试,可针对全局,也可局部,执行简单,效果明显;
monkeyrunner 配置分为四大类:1.基本配置选项,如设置尝试的事件数量;2.运行约束
选项,如设置只对单独的一个包进行测试;3.事件类型和频率;4.调试选项
也有人说 monkey 就像孩子一样什么复杂事情都做不了,只能做简单的事情。
接下来我会记录 monkey 和 monkeyrunner 基本使用脚本
Monkey
1. 进入 cmd 命令
2. cd sdk 存放 adb 路径
3. 输入 sdkdb 存放盘符
4. adb shell monkey –p(设置包名,不设置为默认) com.luckir.homevwapp –v(默认
保存信息) 500 (发送事件数量)
5. 回车就能执行了
MonkeyRunner
模拟器连接
1. 进入 cmd 命令
2. cd sdk ool 路径
3. 输入 sdk ool 存放盘符
4. Monkeyrunner
5. 进入 shell 命令
6. #导入 monkeyrunner 自带的三个类 注:‘#’如同注释,不执行;区分大小写
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage