在做Android自动化测试框架开发之前,我们应该先了解目前的发展状况,知道我们的目标是什么,也要了解当前的主流框架,做到知己知彼,取长补短。
首先要思考和了解几个问题:
- 我们开发自动化框架的目标是什么?如何得到想要的框架?
- 目前主流自动化框架的优劣势分析
- 剖析主流自动化框架的源码
- 如何利用框架进行二次开发?
本篇文章介绍上述第一个问题:
一:Android自动化测试框架目标
- 稳定性好:尽可能使用开发人员对控件定义的id等唯一定位信息,减少通过控件index进行节点判断
- 可移植性好:尽可能减少通过坐标点进行控件的判断和事件的记录,而monkey和monkeyRunner都是通过坐标信息
- 支持跨应用或跨进程交互:测试框架需支持跨应用,而Instrumentation不支持跨应用
- 运行效率高:窗口界面跳转监控和窗口定位要准确,而monkey和monkeyRunner不支持此功能
- 测试人员易上手:框架容易理解和掌握,测试脚本易编辑,Instrumentation等框架对测试人员有技术要求
- 方便调试:框架足够开放,方便调试
- 开发效率高:对APP的事件类型封装程度高,覆盖率高
- 控件易捕获:对控件识别性高,稳定性强
二:如何得到自己想要的框架
- 匹配框架:对目标应用程序(App)进行分析,找到特征点与当前的测试框架进行匹配,找到最合适的
- 框架结合搭配:针对大型复杂的应用程序,可以通过对不同框架的搭配结合使用来弥补对方的不足,实现较高的覆盖率和稳定性(例:UIAutomator和Robotium融合,覆盖更多事件,支持跨进程)
- 框架二次开发,封装:对于某些框架可进行二次开发和封装,提高利用率和稳定性
- 自己开发工具:基于现有框架原理,开发相应的测试工具
在进行后两项的实践之前,我们必须要对当前测试框架进行深入的了解,下篇文章将对当前的主流测试框架进行介绍和分析。
时间: 2024-10-09 16:23:42