接口测试 YTWapi 接口平台之路

寻找五爷 · 2020年10月13日 · 最后由 迷龙 回复于 2020年10月14日 · 4162 次阅读

YTWapi 接口平台概述

1. 前言

自从使用python+requests实现了简单的接口自动化测试之后,又诞生了把它实现成一个接口平台的想法,于是开始了漫长的自我折腾之路,从设计到开发,以及相关知识储备,算下来也差不多半年时间了。

拿来主义终究只是解决一时问题,不遗余力造属于自己的轮子,才能对轮子理解更深。因此才有了这个粗糙的轮子的出现。

2. 技术栈

  • 前端

    Vue、element-ui、axios

  • 后端

    python、django、django rest framework、celery

  • 数据库

    mysql、redis

3. 实现功能概述

这是一个接口自动化平台,支持项目管理、接口管理、用例管理、执行管理,以及任务管理执行结果查看等功能。

  • 项目支持多套不同环境;
  • 同一个接口支持通过不同的配置,满足不同的业务场景或测试场景;
  • 支持使用函数生成值,对接口字段赋值,如:各种格式的日期时间、随机数字或字符串;
  • 支持单接口用例、多接口业务流程的用例,多接口用例体现在测试用例的多个测试步骤上,接口之间支持关联传值;
  • 支持将不同测试用例配置为测试集,如:按项目、按模块、按基本功能等划分不同测试集;
  • 支持配置执行任务,一个测试集对应一套环境,多套环境配置多个任务;
  • 支持多个任务同时执行,互不影响;
  • 支持对任务结果、任务对应的测试用例执行结果、以及测试用例详情(接口请求响应、失败原因等)进行查看。

4. 详细功能介绍

  • 项目管理

项目管理分为项目配置、环境配置 2 个部分。

项目配置是对项目名称、描述,以及项目模块进行配置,支持项目的增删改查操作。

环境配置是对项目的环境名称、地址等信息进行配置,一个项目支持配置多套环境,支持环境的增删改查操作。

  • 接口管理

接口管理分为接口配置、接口实例、业务流程 3 个部分。

接口配置是管理所有接口的地方,需要配置接口的相关信息。

接口实例,亦可称为接口加工厂,主要实现对接口某些特殊字段值进行赋值、关联其他接口字段值的设置及抽取、接口响应结果字段值断言设置。测试用例步骤关联的是接口实例,配置接口后会自动生成一个默认的实例。一个接口支持配置多个实例。

接口实例配置(太长未展开)

业务流程,非关键环节,可用于理清不同业务流程,以及测试用例中引用以达到快速编写用例的目的,此模块未实现完全。

  • 用例管理

用例管理是编写测试用例的地方,支持对测试用例的增删改查;测试用例支持配置多个步骤,每个步骤需要选择接口实例,接口实例选择后,会自动带出接口实例配置的信息,此外还需配置请求头、请求体数据,也可以补充断言信息。

  • 执行管理

执行管理包含测试集、执行设置 2 个部分。

测试集,即一组测试用例,可以根据实际情况划分不同的测试集,如:项目所有用例测试集、基本功能用例测试集等。

执行设置,即设置测试执行任务,对测试集配置具体的执行环境,然后点击 “执行” 按钮启动任务。任务结果可在任务管理中查看,同一个配置的任务为防止重复执行,限制同一个配置的任务同时只能有一个在执行。

  • 任务管理

任务管理,支持对任务结果进行查看,任务状态有 3 种:未开始或进行中、成功、失败;任务执行完成后,可以对任务结果进行查看,支持查看任务总体用例通过情况、执行耗时,以及每个用例每个步骤的详细情况,如果某个步骤执行失败,会显示出失败的原因。

执行结果查看

测试步骤详情

5. 结束语

知易行难,真正的一步一步去做方知不容易。一个看似简单的功能,简单的 bug,限于个人能力,可能就要花费无数心思和时间。

这个平台还有很多功能尚未完善,很多想法没有去落实,目前整体功能从前到后也算是完成了一个闭环,暂时先告一段落了。最近一段时间应该没有什么精力去完成了。

共收到 5 条回复 时间 点赞

对于有些参数需要进行加密解密的接口,这边可以实现吗😂

可以开源?技术栈都一样,可以一起完成

看起来是为做而做。其实不应该。

那把代码发我不~ 纯做学习使用

开源吧,兄弟

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册