简单来说:
1.monkey是在设备或模拟器直接运行adb shell命令生成随机事件来进行测试
2.monkeyrunner是通过API发送特定的命令和事件来控制设备
为了支持黑盒自动化测试的场景,Android SDK提供了两个测试工具:monkey和monkeyrunner,均可以向待测应用发送按键等消息。他们的区别如下:
- monkey在设备或模拟器上运行,可以脱离PC运行;monkeyrunner在PC上运行,需要通过服务器/客户端的模式向设备或模拟器上的Android应用发送指令来执行测试
- 普遍的做法是将monkey作为一个向待测应用发送随机按键消息的测试工具,验证待测应用在这些随机性的输入面前是否出现闪退或崩溃;monkeyrunner是接受一个明确的测试脚本(用python语言编写的)
- monkey不支持条件判断,不支持读取界面的信息来执行验证操作;monkeyrunner的测试脚本中有明确的条件判断等语句,可用来做功能测试