Monkey与MonkeyRunner之间的区别
2024-09-02 19:22:48
为了支持黑盒自动化测试的场景,Android SDK提供了monkey和monkeyrunner两个测试工具,这两个测试工具除了名字类似外,还都可以向待测应用发送按键等消息,往往容易产生混淆,以下是他俩的不同之处。
1.monkey运行在设备或者模拟器上边,可以脱离PC运行,其运行时如下图所示。
而monkeyrunner运行在PC上,需要通过服务器/客户端的的模式向设备或者模拟器上的android应用发送指令来执行测试,其运行时如下图所示。
2.普遍的做法是将monkey作为一个向待测应用发送随机按键消息的测试工具,验证待测应用在这些随机性的输入面前是否会有闪退或者崩溃。而monkeyrunner则接受一个明确的测试脚本(使用python语言编写的)。
3.虽然monkey也可以根据一个指定的命令脚本发送按键消息,但其不支持条件判断,也不支持读取界面的信息来执行验证操作。而monkeyrunner的测试脚本中有明确 的条件判断等语句,可用来做功能测试。
总结:
实际操作中,monkey由于缺少必要的条件判断等命令,难以在功能测试上有所作为,只能作为生成一些随机事件的工具,测试应用程序的健壮程度,待测应用崩溃后可以根据monkey打印的日志,再用monkey创建一个重现步骤,供开发调试。monkey服务器模式更适合用于黑盒测试,不建议用于自动化测试。
而Monkeyrunner虽然有Python和Java类库的强大支持,但其自身提供的API有限,还得需要插件扩展其功能。
最新文章
- 强大的observejs
- const int * p 和 int const * p 和 int * const p 的区别
- [CareerCup] 12.6 Test an ATM 测试一个自动取款机
- 一个spring jdbc实例
- Delphi richedit获取选中文字
- ACM1998
- html5.边框属性相关知识点
- Linux下gcc编译生成动态链接库*.so文件并调用它【转载】
- Entity Framework技巧系列之九 - Tip 35 - 36
- java断点
- 构建自己的Tomcat镜像
- ##2.基础服务(SQl,RabbitMQ)-- openstack pike
- 让js调试更简单—console
- vue中实现全选功能
- 洛谷P3957 跳房子(Noip2017普及组 T4)
- Kaldi nnet3的前向计算
- JQuery1.72中二个Bug,formhtml()方法与clone()方法的二个Bug进行重写
- en_o out1
- 2018.09.26洛谷P3957 跳房子(二分+单调队列优化dp)
- HDU 3802 矩阵快速幂 化简递推式子 加一点点二次剩余知识
热门文章
- java核心技术 - 17个重要的知识点
- 链接服务器";(null)";的 OLE DB 访问接口 ";SQLNCLI10"; 返回了消息 ";Cannot start more transactions on this session.";
- Mysql安装报错解决办法
- 使用jmeter测试数据库性能
- 参考消息 Android 读报
- JSON 序列化格式
- 洛谷 U3348 A2-回文数
- LibreOJ #515. 「LibreOJ β Round #2」贪心只能过样例
- python基础教程总结12——数据库
- cityspace