自从使用python+requests实现了简单的接口自动化测试之后,又诞生了把它实现成一个接口平台的想法,于是开始了漫长的自我折腾之路,从设计到开发,以及相关知识储备,算下来也差不多半年时间了。
拿来主义终究只是解决一时问题,不遗余力造属于自己的轮子,才能对轮子理解更深。因此才有了这个粗糙的轮子的出现。
前端
Vue、element-ui、axios
后端
python、django、django rest framework、celery
数据库
mysql、redis
这是一个接口自动化平台,支持项目管理、接口管理、用例管理、执行管理,以及任务管理执行结果查看等功能。
项目管理分为项目配置、环境配置 2 个部分。
项目配置是对项目名称、描述,以及项目模块进行配置,支持项目的增删改查操作。
环境配置是对项目的环境名称、地址等信息进行配置,一个项目支持配置多套环境,支持环境的增删改查操作。
接口管理分为接口配置、接口实例、业务流程 3 个部分。
接口配置是管理所有接口的地方,需要配置接口的相关信息。
接口实例,亦可称为接口加工厂,主要实现对接口某些特殊字段值进行赋值、关联其他接口字段值的设置及抽取、接口响应结果字段值断言设置。测试用例步骤关联的是接口实例,配置接口后会自动生成一个默认的实例。一个接口支持配置多个实例。
接口实例配置(太长未展开)
业务流程,非关键环节,可用于理清不同业务流程,以及测试用例中引用以达到快速编写用例的目的,此模块未实现完全。
用例管理是编写测试用例的地方,支持对测试用例的增删改查;测试用例支持配置多个步骤,每个步骤需要选择接口实例,接口实例选择后,会自动带出接口实例配置的信息,此外还需配置请求头、请求体数据,也可以补充断言信息。
执行管理包含测试集、执行设置 2 个部分。
测试集,即一组测试用例,可以根据实际情况划分不同的测试集,如:项目所有用例测试集、基本功能用例测试集等。
执行设置,即设置测试执行任务,对测试集配置具体的执行环境,然后点击 “执行” 按钮启动任务。任务结果可在任务管理中查看,同一个配置的任务为防止重复执行,限制同一个配置的任务同时只能有一个在执行。
任务管理,支持对任务结果进行查看,任务状态有 3 种:未开始或进行中、成功、失败;任务执行完成后,可以对任务结果进行查看,支持查看任务总体用例通过情况、执行耗时,以及每个用例每个步骤的详细情况,如果某个步骤执行失败,会显示出失败的原因。
执行结果查看
测试步骤详情
知易行难,真正的一步一步去做方知不容易。一个看似简单的功能,简单的 bug,限于个人能力,可能就要花费无数心思和时间。
这个平台还有很多功能尚未完善,很多想法没有去落实,目前整体功能从前到后也算是完成了一个闭环,暂时先告一段落了。最近一段时间应该没有什么精力去完成了。