背景:2017 年 9 月,我司自研了自动化测试平台,并在实际工作中取得了一定的效果。其中,接口自动化测试是平台的重要功能,现将接口自动化相关的功能分享出来,供同行交流。平台仍在不断优化完善中,希望大家多提建议,多多益善~
具体介绍详见下文
测试集列表提供两种模式展示(卡片/表格):产品(项目)、名称、描述;蓝色背景标识为公有
新建测试集
测试集操作:复制、删除、设置为公有(即加入至测试集仓库;已为公有的表示推送最新版本)
测试集仓库为团队协同工作使用的测试集仓库,需要个人将测试集公有后才可见,测试集版本与公有库版本各自独立(测试集可推送至公有库,从而同步版本)
此项体现测试集支持完成的接口自动化的功能项,可谓核心,总结为:
测试集页面支持的功能还是比较多的,下图为一个简单的 Demo 示例,已包含三个接口
注:植入了我司的所有接口数据,如 API 传参、描述、示例等(平台包含接口管理功能,包含约 2K+API,这里暂不表)
新建接口
编辑、复制、删除、拖拽接口
点击接口,出现右侧接口设置面板,包含 5 个子 Tab
选择对应的环境、账号、运行变量后,点击运行,平台会发送请求至后端进行处理
运行环境、账号、运行的变量设置为平台附加的功能,这里也都不详细介绍了
有必要简单介绍下后端测试集执行机制,如何优雅地进行测试任务调度及管理是自动化测试平台的核心,目前方式是引入 celery 作为任务调度器,多节点部署服务器。可扩展一定量的执行服务器(我司初期配置了 6 台基础配置的虚机,一台 200 个节点,可承载 1200 个测试任务并行运行)。
操作点击显示对应的测试报告
定制化测试报告展示
很多情况下,需要多个测试集共同执行,且共用一套环境及运行参数,对此我们的解决方案是加入测试集解决方案
该解决方案还在不断优化中,也就不详细介绍了
以上仅为平台提供的部分功能,其他的像是监控、邮件通知等就不介绍了 。。。