目前的方案
- 使用开源框架 appium、calabash、monkeytalk、uiautomator 等工具
- 代码基本采用分层思想(控件层、业务公共方法层、case 层)
- 多线程运行已实现并发测试
缺陷
- 维护成本很高(无论怎样的分层都需要修改 case 来适应版本的迭代变化)
- 接口层的不稳定性、终端的不稳定性、业务流程中的不稳定性等会导致 UI 自动化用例稳定性大打折扣
- 由于是通过控件去实现 case,而控件的遍历耗时很大,导致 30min 内的自动化用例超不过 50 条
- UI 自动化并未真正解决目前测试中所遇到的由于项目的迭代导致测试任务加大的问题
UI 自动化到底该怎么做(只能假象下,说的不对一起讨论下)
-
我们的 case 是怎么来的
- PRD 能否模版化
- 对应 APP 的文档是否可以作为对应 APP 的一门专业语言
- 界面中的文档能否自动识别(有人会说截图太慢,可以去玩下 stf 设备管理平台)
-
APP 中的大部分控件都存在埋点
- UI 自动化为什么不能通过坐标点的点击来执行,从而提高执行效率
- 控件的位置能否通过埋点数据获取(埋点 log 中添加对应分辨率的坐标点)-> 通过大数据解析需要的数据
↙↙↙阅读原文可查看相关链接,并与作者交流