react+unittest+flask 接口自动化测试平台

目录

1 前言

2 框架

2-1 框架简介

2-2 框架介绍

2-3 框架结构

3 平台

3-1 平台组件图

1 新建用例

2 生成测试任务

3 执行并查看测试报告

3-2 用例管理

3-2-1 用例设计

3-3 任务管理

3-3-1 创建任务

3-3-2 执行任务

3-3-3 测试报告

3-3-4 邮件通知


1 前言

在现代的软件开发中,接口自动化测试是一个至关重要的环节。它可以帮助开发人员快速验证接口的正确性和稳定性,提高开发效率和软件质量。本文将介绍如何使用React、Unittest和Flask构建一个接口自动化测试平台。
单有框架,还不足以让接口自动化更简化,自动化测试需要大量编码维护工作,为了改善这些问题,解放重复的劳动力,所以将其做成平台型的,可以让不懂技术的人都能使用,同时也让接口用例更加简单明了,易维护。

简单示范下使用流程。

2 框架

2-1 框架简介

前端 reactjs 语言实现,后台由 flask 提供 restful 接口,基于 python unittest 测试框架,一键生成测试脚本,可视化的维护测试数据。

2-2 框架介绍

1-基于 Python+unittest 测试框架
2-二次封装了 urlib 库,对于 cookie 及存在业务流程依赖的数据,做了保存处理,可连贯测试业务流程及不同的请求场景。
3-支持多项目、不同环境数据参数的扩展。
4-支持返回值的 code、指定字段校验,提升测试准确性。
5-定时任务、即时任务执行,满足稳定接口自动化业务测试及临时接口的调试测试。
6-在线报告展示以及 Email 自动发送报告

2-3 框架结构

结构图:

分为前后台两套代码:

3 平台

3-1 平台组件图

1 新建用例

2 生成测试任务

3 执行并查看测试报告

3-2 用例管理

在线编写自动化测试,让大家都能够参与测试
自动化用例编辑可视化,使自动化过程更加简单明了
针对需要连续流程获取的参数值,提供 json 类型的数据解析,获取指定的值。

3-2-1 用例设计

平台用例执行流程图

3-3 任务管理

3-3-1 创建任务

根据测试用例,生成指定域名或测试机器 ip 的测试任务。

3-3-2 执行任务

定时任务是在每日的指定时间点自动执行指定的测试任务集。
每次执行(包括手动执行和定时任务)之后,都会生成一份测试报告,发送给指定人。

3-3-3 测试报告

可按测试时间及给定文件名,生成对应时间的 html 可视化报告,报告内容包含测试耗时,测试执行用例总数,执行成功、失败、出错用例数统计;还有单个用例的执行情况 (ID,用例名称,服务端返回值,运行结果等)

3-3-4 邮件通知

暂时发送人和接收人是写在代码里的,看需求再看是否需要做成前端配置,邮件会直接显示报告结果,也可以查看附件详细内容。

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26723.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络模型在深度学习中的作用

神经网络模型是一种模拟人脑神经元之间连接和相互作用的数学模型。它由多个神经元(节点)以层次结构相互连接而成,每个神经元通过学习权重和偏置,根据输入数据产生相应的输出。 在深度学习中,神经网络模型被广泛应用于…

【LeetCode 75】第三题(1431)拥有最多糖果的孩子

题目: 示例: 分析: 题目是简单题,也确实简单,不过示例给出的解释有些复杂,甚至有些误导.我们只需要遍历得出分配糖果之前的糖果最大值,然后再依次遍历每个孩子拥有的糖果数,若某孩子原有的糖果数加上待分配的所有糖果数大于等于分配前的糖果最大值,则给该孩子对应下标的结果置…

在After Effects 加速渲染的 21个技巧,记得收藏!

如何减少After Effects 渲染时间? 1.升级内存 减少渲染时间的一种有效方法是升级 RAM(随机存取存储器)。RAM 在渲染过程中起着至关重要的作用,因为它存储并快速访问渲染任务所需的数据。增加系统中的 RAM 量可提供更多的数据存储…

MinUv2靶场详解

MinUv2靶场详解 这个靶场我学到了.bash_history文件,每个用户都有一个名为 .bash_history 的文件,它位于用户的主目录中,默认有500行最近执行的命令。 这个靶场我用vmware是不能打开的,用virtualBox就可以,并且打开时…

Java设计模式之行为型-命令模式(UML类图+案例分析)

目录 一、基础概念 二、UML类图 三、角色设计 四、案例分析 1、基本实现 2、点餐案例 五、总结 一、基础概念 1、将一个请求封装为一个对象,使您可以用不同的请求对客户进行参数化。 2、对请求排队或记录请求日志,以及支持可撤销的操作。 3、…

用Python采用Modbus-Tcp的方式读取PLC模块数据

使用计算器得到需要的寄存器地址 这里PLC地址是83,对应的程序16进制读取地址是53 实际上由于PLC地址从1开始,所以这里实际地址应该是52,因为计算机从0开始 使用网络调试助手生成报文 使用Python中的内置函数int()。以下是将人员卡号’b’3b44’转换为十…

webpack基础知识

webpack基础知识 1、定义2、环境安装3、初始化项目4、简单使用 1、定义 webpack的本质是一个第三方模块包,用于分析,并打包代码 支持所有类型的文件打包支持less/sass> css支持ES6/7/8>ES5压缩代码,提高加载速度 2、环境安装 yarn安…

出差在外,远程访问企业局域网象过河ERP系统【内网穿透】

文章目录 概述1.查看象过河服务端端口2.内网穿透3. 异地公网连接4. 固定公网地址4.1 保留一个固定TCP地址4.2 配置固定TCP地址 5. 使用固定地址连接 概述 ERP系统对于企业来说重要性不言而喻,不管是财务、生产、销售还是采购,都需要用到ERP系统来协助。…

cocos2d-js中jsc逆向为js

1.mac系统 2.安装php7以上的版本 ubuntu $ sudo apt install php7.0 mac $ brew install php7.0 windows just google an binary one 查看php安装的版本这里mac电脑为例子: 输入:php -v 只要7以上的版本即可 3.cd到自己的项目位置 cd path/to/project 安装composer,…

【网站建设】HTTP/HTTPS 是什么?有什么区别?

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL,感…

Python应用实例(二)数据可视化(五)

数据可视化(五)制作全球地震散点图:JSON格式 1.地震数据2.查看JSON数据3.创建地震列表4.提取震级5.提取位置数据6.绘制震级散点图7.另一种指定图表数据的方式 下载一个数据集,其中记录了一个月内全球发生的所有地震,再…

字节跳动春招研发部分编程题汇总

状压dp(不会) http://t.csdn.cn/W9Pi2 #include <iostream> #include<string.h> #include<math.h> using namespace std; char a[1005]; char c[1005]; int main() {int n;scanf("%d",&n);for(int i1;i<n;i){scanf("%s",a);int l…