随着中通业务的不断壮大,诞生了庞大的移动端和Web应用,这些兼容性和回归测试不仅耗费大量的测试成本,同时手机在不同项目组借调的过程中,常常出现使用冲突。为此,中通的测试创新团队研发了一款统一自动化测试平台。
统一自动化测试平台不仅提供了UI,接口的功能,还打造了脚手架,方便自定义堆积功能,同时还包含了真机管理,随用随还,方便快捷。该平台由Taro框架、真机平台和运行平台三部分构成。Taro 负责自动化,不仅提供UI自动化功能还提供接口自动化功能;真机平台主要是管理设备及调试本地化脚本;运行平台负责管理和运行。拓扑图如下:
Taro 是由大老(たいろう)的罗马读音(tairou)演化而来,正好也是泰罗奥特曼的英文名。Taro 是基于 Python 技术栈,充分利用pytest 的生态,封装了Airtest、UIAumator2和PlayWright,统一了移动端、web端的UI 自动化和接口自动化。架构图如下:
Taro还提供自动化截图功能,目前可支持Web端的所有交互操作的自动化截图,移动端的click操作的自动化截图。并且每个步骤会自动截取当前执行的代码作为步骤名称,同时高亮显示。如下图:
移动端截图
由于篇幅有限,本次只做介绍,后续再详细介绍自动化截图功能的详细实现。
真机平台是基于ATXServer2做的二次开发,使用 Scrcpy 重构了 Android 端,支持了高版本的 Android 系统,如图:
平台还集成weditor,无须搭建本地开发环境,线上编写自动化脚本,方便设备调试。如图:
新建任务
目前可以支持4种类型的脚本,在配置好 IM 相关的信息可以在任务执行完毕后发送通知到群里,同时可以配置周期执行。推荐使用 Taro 框架的脚手架命令来生产初始化脚本,在这里配置脚本路径即可。
任务列表
可以清楚看到最新的执行结果,手动进行编辑、运行和删除操作。
以下是某个项目的测试报告,清楚定位失败用例的情况。
平台目前已经上线8个月了,做到了UI和接口的统一,框架、报告、运行的统一,设备和调试线上化,降低了脚本的开发和维护成本,给平台扩展性增加了更多可能性,旧脚本迁移0成本。
公司DevOps平台对接,对每次构建进行自动化测试
拓展 Taro 框架的通用能力
支持 JMeter 等自动化脚本
敬请期待,我们后续更多的创新。
欢迎各位技术大佬向本公众号积极投稿,提升经验分享、信息互通的技术交流氛围,共同解决技术难题、共同进步!(投稿咨询请联系科技与信息中心助理室 徐蕊)