如何从0到1搭建属于自己的接口自动化测试平台

在线体验地址

http://39.106.13.197:8081/

引言

作为一个测试工程师,想着去学习各种测试技术,来提高工作的效率. 前段时间我也学了一套自动化测试框架搭建的思想和方法,已经搭建了一套基于yml文件用例的自动化框架.
但是这套框架还有很多局限性,比如说:
1.每个人想要进行自动化测试都需要下载框架源码到本地
2.没有可视化页面,需要使用编辑器进行编辑操作与调试
3.环境切换需要修改配置文件
4.调试用例不够方便,每次需要去改配置文件或者测试类去执行
针对如上问题,我就在想有没有一种方式可以让自动化测试工作做的更简单一些,在公司内部更容易推广一些,上手更容易一些,于是乎,我就开始构思自动化测试框架的升级版本------>自动化测试平台
在这个平台中我想做哪些事情?
1.可以在web页面中单独维护测试用例
2.可以在web页面中维护用例分组
3.可以在web页面中进行用例的执行
4.可以在web页面中直接复制浏览器的curl请求直接转化成标准的测试用例
5.可以在web页面中维护用例的执行环境
6.可以在web页面中维护数据库的信息
7.可以在web页面中维护全局变量
8.可以在web页面中维护自定义函数
9.可以在web页面中针对JSON数据进行数据提取,在线调试jmespath表达式或者jsonpath表达式
10.可以在web页面中查看生成的测试报告

技术支持

python3.9.0+
pywebio1.8.1+
pytest
allure
fastapi

这里没有使用数据库,数据的存储和读取采用了json序列化和反序列化的方式,将数据存储在json文件中,这样的化可以快速搭建环境运行部署

系统架构

一级模块名称二级模块名称
用例管理用例列表
用例管理用例分组
用例管理用例转化
用例管理用例上传
用例管理用例升级
自动化测试登录模板
自动化测试用例执行
自动化测试接口测试
系统管理环境管理
系统管理服务器管理
系统管理数据库管理
工具箱全局变量
工具箱内置函数
工具箱数据提取
工具箱加密解密
测试报告报告列表

系统截图

此系统的名称叫做测码奔腾如下是系统首页的截图
在这里插入图片描述

在这里插入图片描述

系统实现

用例执行的顺序

  1. 浏览器打开,复制curl请求 copy as curl (bash)
  2. 将curl请求转化为yml用例【用例转化】
  3. 编写和优化yml用例
  4. 将用例在用例列表中进行维护【用例列表】
  5. 用例执行,选择用例进行执行【用例执行】
  6. 用例执行完成后会生成对应的测试报告【测试报告】

用例管理

用例列表

功能描述:在用例列表可以对用例进行基本的增删改查操作
设计思路:
新增一个用例则是新增一个yml文件
修改一个用例则是修改一个yml文件
删除一个用例则是删除一个yml文件
选择一个用例分组,则是将这个用例放到对应的文件夹下面

用例分组

功能描述:在用例分组页面可以对用例分组进行基本的增删改查操作
设计思路
用例分组在此系统中就是用例所在的文件夹,不同的文件夹管理不同模块的用例
新增一个用例分组则是新增一个文件夹
修改一个用例分组则是修改对应文件夹的名称
删除一个用例分组,则是将对应的文件夹删除
为什么这么设计
相对于无图形化界面的自动化框,会见用例先放到 test_cases文件夹下面,然后在这个文件夹下面去新增不同的文件夹,对应不同的模块,如下图所示
在这里插入图片描述
可以将在idea中的这种操作迁移到web页面中,在web页面中新增了一个用例分组,就相当于在test_cases下面新建了一个文件夹
在这里插入图片描述
对应到后台的文件夹就如下图所示
在这里插入图片描述

用例转化

功能描述:将chrome浏览器中复制的curl请求,转化为系统能够被使用的标准化的yml格式的用例

用例升级

功能描述:针对老版本的用例,进行统一的升级处理

附件上传

功能描述:将需要使用的附件上传到服务器,在用例中使用固定的语法即可使用对应的附件

自动化测试

登录模板

功能描述:支持多环境多项目的情况下需要维护不同项目对应的登录模板,并与测试环境结合使用

用例执行

功能描述: 进行用例执行的时候可以使用系统中维护好的yml用例,也可使用本地的yml用例

接口测试

功能描述:简单的web形式的接口测试工具,支持不同请求的接口,和断言

系统管理

环境管理

功能描述:维护项目运行环境,开发,测试等环境,支持环境信息的增删改查操作

服务器管理

功能描述:针对服务器的连接信息进行增删改查操作

数据库管理

功能描述:针对数据库的连接信息进行增删改查操作

工具箱

全局变量

功能描述:提供一个维护全局变量的入口

内置函数

功能描述:自定义测试用例中需要的各种函数,例如随机字符串,时间戳,随机ip等函数

数据提取

功能描述:针对JSON字符串进行数据提取是会用到,针对文本字符串进行正则提取时会用到

加密解密

功能描述:提供常见的加密解密方式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值