【转】Monkey与MonkeyRunner之间的区别
2020-06-14 08:37
148 查看
为了支持黑盒自动化测试的场景,Android SDK提供了monkey和monkeyrunner两个测试工具,这两个测试工具除了名字类似外,还都可以向待测应用发送按键等消息,往往容易产生混淆,以下是他俩的不同之处。
1.monkey运行在设备或者模拟器上边,可以脱离PC运行,也就是在内部执行,其运行时如下图所示。
2.monkeyrunner运行在PC上,需要通过服务器/客户端的的模式向设备或者模拟器上的android应用发送指令来执行测试,其运行时如下图所示。
2.普遍的做法是将monkey作为一个向待测应用发送随机按键消息的测试工具,验证待测应用在这些随机性的输入面前是否会有闪退或者崩溃。而monkeyrunner则接受一个明确的测试脚本( 8e8 使用python语言编写的)。
3.虽然monkey也可以根据一个指定的命令脚本发送按键消息,但其不支持条件判断,也不支持读取界面的信息来执行验证操作。而monkeyrunner的测试脚本中有明确 的条件判断等语句,可用来做功能测试。
总结:
实际操作中,monkey由于缺少必要的条件判断等命令,难以在功能测试上有所作为,只能作为生成一些随机事件的工具,测试应用程序的健壮程度,待测应用崩溃后可以根据monkey打印的日志,再用monkey创建一个重现步骤,供开发调试。monkey服务器模式更适合用于黑盒测试,不建议用于自动化测试。
而Monkeyrunner虽然有Python和Java类库的强大支持,但其自身提供的API有限,还得需要插件扩展其功能。
相关文章推荐
- Monkey与MonkeyRunner之间的区别
- String、StringBuffer与StringBuilder之间区别
- GIT和SVN之间的五个基本区别
- WINDOWS 下MFC中对象、句柄、ID之间的区别
- 大数据 --> Spark和Hadoop作业之间的区别
- 一篇文章搞懂人工智能、机器学习和深度学习之间的区别
- 买车选商家 浅谈4S店与二级经销商之间的区别
- SEO中robots.txt,nofollow与noindex三者之间的区别
- STL,ATL,WTL之间的联系和区别
- String、StringBuffer与StringBuilder之间区别
- memcache和memcached之间的区别
- <logic:empty> <logic:present>之间的区别
- GetCurrentTime(),GetLocalTime(),GetSystemTime()之间的区别
- Activex、OLE、COM、OCX、DLL之间的区别
- malloc-free和new-delete之间的区别
- 对JavaScript、JSP、Java及javaEE之间区别的理解
- java中String、StringBuffer、StringBuilder的区别 java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区
- Collection TreeSet TreeMap排序 ArrayList HashSet去重之间的区别
- HDC与CDC之间区别与联系
- S3C2440、S3C2450和S3C6410之间区别