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

目录

[1 前言](#1 前言)

[2 框架](#2 框架)

[2-1 框架简介](#2-1 框架简介)

[2-2 框架介绍](#2-2 框架介绍)

[2-3 框架结构](#2-3 框架结构)

[3 平台](#3 平台)

[3-1 平台组件图](#3-1 平台组件图)

[1 新建用例](#1 新建用例)

[2 生成测试任务](#2 生成测试任务)

[3 执行并查看测试报告](#3 执行并查看测试报告)

[3-2 用例管理](#3-2 用例管理)

[3-2-1 用例设计](#3-2-1 用例设计)

[3-3 任务管理](#3-3 任务管理)

[3-3-1 创建任务](#3-3-1 创建任务)

[3-3-2 执行任务](#3-3-2 执行任务)

[3-3-3 测试报告](#3-3-3 测试报告)

[3-3-4 邮件通知](#3-3-4 邮件通知)


1 前言

构建一个基于React、Unittest和Flask的接口自动化测试平台是一个很好的选择。React是一个流行的JavaScript库,用于构建用户界面,而Unittest是Python的一个单元测试框架,用于编写和执行测试用例。Flask是一个轻量级的Python Web框架,可以用于构建接口。

接口自动化测试的工具很多,比如 soapUI,postman,jmeter 等等,但是这些通用的工具的可扩展性以及跟项目的契合度上并不是十分合适。

单有框架,还不足以让接口自动化更简化,自动化测试需要大量编码维护工作,为了改善这些问题,解放重复的劳动力,所以将其做成平台型的,可以让不懂技术的人都能使用,同时也让接口用例更加简单明了,易维护。

简单示范下使用流程。

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自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

相关推荐
蜡笔小新星6 分钟前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
zqx_78 分钟前
随记 前端框架React的初步认识
前端·react.js·前端框架
攸攸太上20 分钟前
JMeter学习
java·后端·学习·jmeter·微服务
惜.己25 分钟前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5
什么鬼昵称1 小时前
Pikachu-csrf-CSRF(get)
前端·csrf
Ljubim.te1 小时前
Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】
linux·学习·centos
大G哥1 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
长天一色1 小时前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
yngsqq1 小时前
031集——文本文件按空格分行——C#学习笔记
笔记·学习·c#
NiNg_1_2341 小时前
npm、yarn、pnpm之间的区别
前端·npm·node.js