接口测试 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的接口自动化测试平台是一个很好的选择。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自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

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

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

相关文章

java实现敏感词过滤,简单实例,dfa算法

java实现敏感词过滤,简单实例,dfa算法 最近在看黑马的视频学习的时候,看到了,自定义敏感词过滤的,感觉蛮有意思的,记录一下。 直接上实例 第一步初始化敏感词(可以写死,当然在开发…

BGP实验--联邦

1,AS1存在两个环回,一个地址为192.168.1.0/24 该地址不嫩在任何协议中宣告 AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能再任何协议中宣告,最终要求这两个环回可用互相通讯 AS1中的另一个环回为10.0.0.0 24&#…

不同的二叉搜索树(简单题目+升级题目)

简单题目(只需要返回多少种): 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例: 输入:n 3 输出:5…

Java版spring cloud 本工程项目管理系统源码-全面的工程项目管理

​ ​工程项目管理系统是指从事工程项目管理的企业(以下简称工程项目管理企业)受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 如今建筑行业竞争激烈,内卷严重&#xff0c…

机器人制作开源方案 | Delta型腿机器狗实现原地动作

1. 功能说明 本文示例将实现R322样机Delta型腿机器狗原地摆臂、原地圆形摆动、原地蹲起、原地踏步的功能。 原地摆臂 原地圆形摆动 原地蹲起 原地踏步 2. 电子硬件 本实验中采用了以下硬件: 主控板 Basra主控板(兼容Arduino Uno) 扩展板 Bigf…

前端 | (二)各种各样的常用标签 | 尚硅谷前端html+css零基础教程2023最新

学习来源:尚硅谷前端htmlcss零基础教程,2023最新前端开发html5css3视频 文章目录 📚HTML排版标签📚HTML语义化标签📚块级元素与行内元素📚文本标签🐇常用的文本标签🐇不常用的文本标…

CentOS5678 repo源 地址 阿里云开源镜像站

CentOS5678 repo 地址 阿里云开源镜像站 https://mirrors.aliyun.com/repo/ CentOS-5.repo https://mirrors.aliyun.com/repo/Centos-5.repo [base] nameCentOS-$releasever - Base - mirrors.aliyun.com failovermethodpriority baseurlhttp://mirrors.aliyun.com/centos/$r…

联通 Flink 实时计算平台化运维实践

摘要:本文整理自联通数科实时计算团队负责人、Apache StreamPark Committer 穆纯进在 Flink Forward Asia 2022 平台建设专场的分享,本篇内容主要分为四个部分: 实时计算平台背景介绍 Flink 实时作业运维挑战 基于 StreamPark 一体化管理 …

Flutter——最详细(NavigationBar)使用教程

NavigationBar简介 Material 3 导航栏组件! 导航栏提供了一种持久且便捷的方式来在应用程序的主要目的地之间进行切换。 使用场景: 底部菜单栏模块 属性作用onDestinationSelected选择索引回调监听器selectedIndex目前选定目的地的索引destinations存放菜单按钮back…

26.Java 异常

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的 要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常: 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个…

WooCommerce企业级电子商务需要了解的事情

建立成功的企业业务变得比以往任何时候都容易得多。借助各种可用的平台,将您的想法付诸实践是绝对可行的。 “WooCommerce 是最知名的 WordPress 网站电子商务平台之一。” 它于 2011 年推出,自此受到大型和小型企业的欢迎。它的流行主要归功于其各种免费…

Mysql教程(一):Mysql数据模型和SQL语法分析

Mysql教程(一):Mysql数据模型和SQL语法分析 1、Mysql数据模型 1.1 关系型数据库(RDBMS) 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: 使用表存储数…