前面的文章中我们为大家介绍了中通科技自动化测试当时正在面临的一些困境。第一个是自动化测试框架太多,测试工程师在选择框架和脚本语言的时候很难统一,脚本编写门槛高。第二个是运行脚本的平台不统一,脚本运行时不够稳定。第三个是不同的Jenkins服务和网络隔离会额外新增很多工作。最后是各种框架的软件测试报告在视觉上不同意,测试结果不方便统计。
本文我们就整理跟大家分享一下我中通科技是如何做到统一的自动化测试的。
首先解决的是统一的框架,减少接入的框架的数量。前面为大家介绍了当时在用的有六个框架,最终选择接入的是Airtest和Playwright。为了兼容之前的一些脚本,也为了提高效率,还接入了云原生的UIAutomator。针对ios端,接入了Facebook-wda。
在开发语言方面,选择了Python作为主要的开发语言。
要尽可能兼容之前 Airtest 脚本。之前有一些存量的Airtest 的脚本,为了方便团队更好地迁移过来,新的框架一定要支持Airtest 脚本。
运行效率要高。这方面主要是对比之前选用的一些框架,比如说Appium在执行的时候它的架构模式是,会有一个server端来执行我们的脚本,所以在执行的时候需要从起的server端来执行中转、执行一些脚本的命令,所以它的运行效率上是有折扣的。
统一的报告。这部分是通过Allure这个框架来实现的,之所以选择这个框架,一个原因是它展示的内容比较丰富,另一个原因是它可以兼容Java脚本。
脚手架工具。这部分也是可以直接带来效率提升的一个方面。通过这样一个工具,可以直接根据不同平台或不同项目类型,直接产生一个自动化脚本的模板。自动化工程师可以直接在这个模版上进行开发,也减少了我们搭建自动化脚本环境的时间。
后面的文章我们会针对自动化测试平台的每一部分为大家展开详细介绍,观影大家继续关注。