python+unittest+ddt,从0到1搭建接口自动化框架

2023-11-09

最近在学习纯代码的接口自动化框架,在网上查阅大量资料后,结合了多个文章,最后使用python+unittest+ddt实现了一个简单的接口自动化工具,可以实现读取excel中的测试用例,生成测试报告,并发送邮件的功能。下图是项目的框架结构,源码可以免费下载链接:链接:https://pan.baidu.com/s/1gklq4uZicdDviSkfoOvbqQ?pwd=0001 
提取码:0001,下载后可以直接运行。下面会对每个目录和python文件分别介绍

1、common目录

 readConfig.py 是用来读取配置文件

readExcel.py用来读取测试用例数据

request.py用来生成接口的请求数据,并返回结果

PS:get请求的参数比较简单,直接传入参数即可,post请求通常需要包含hearders、body等参数,需要注意参数的格式

HTMLTestReportCN.py用于生成测试报告

newReport.py用于获取最新的测试报告

sendMail.py用于将最新的测试报告发送邮件

2、config目录

存放的是配置文件,包含数据库配置、邮箱配置、用例和测试报告存放目录等配置

3、data目录

存放的是测试用例数据

4、report目录

存放的是每次执行全部用例时生成的测试报告

5、testcase目录

存放的是执行测试用例的方法,测试用例的命名需要test_开头。再利用了ddt装饰器读取测试用例表格中的数据,每行数据生成一个新的测试用例,并自动添加编号

PS:用例间存在参数依赖需要传递前一个请求的结果到下一个用例时,可以通过全局变量的方法实现,本项目中两个post请求就是需要将login接口的token参数传给用例表中的第四个接口,用例表中没有传递具体的token参数,而是在方法中将全局变量拼接到参数中去,实现参数传数的传递

 6、run_all_case.py

读取testcase目录下所有命名是以test_开头的文件,加入测试数据集,运行后生成测试报告并发送邮件,运行结果和测试报告如下

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python+unittest+ddt,从0到1搭建接口自动化框架 的相关文章

随机推荐

  • 完整的模糊推理系统介绍以及matlab中从零实现(上篇)

    模糊推理系统建模 在matlab中 通过调用文档命令doc fuzzy可以得到一个模糊工具箱的完整介绍 我也是因为工作需要 在看完师姐论文后 仍然迷迷糊糊地 相信有许多人和我一样 在网上查了一堆论文 博客 可能也没有搞得太明白 通过几天的认
  • jetty的安装和启动

    Jetty是当下非常流行的一款轻量级Java Web服务器和Servlet容器实现 它由Eclipse基金会托管 完全免费而且开放源代码 因此所有人均可以从其官网下载最新源代码进行研究 由于其轻量 灵活的特性 Jetty被广泛用于一系列知名
  • 树型结构(二叉树的基础)

    对于树型结构 想必刚开始看见这个词的时候 大家的第一想法一定会是 二叉树吧 但是 笔者所讲的这篇文章不是二叉树 但是 又与二叉树有着关系 树型结构是二叉树的基础 所谓的树型结构是指 树是一种非线性的数据结构 它是由n n gt 0 个有限结
  • 《自然语言处理》第二次实验:机器翻译(Transformer中英文翻译实验)

    文章目录 任务三 按照实验手册进行Transformer中英文翻译实验 步骤 1 OBS创建项目文件夹 步骤 2 下载自然语言处理包 步骤 3 上传实验源码及数据 步骤 4 进入ModelArts开发环境 步骤 1 上传源码和数据至本地容器
  • 微信小程序如何被微信搜索收录?开启页面收录功能,被评定为达标

    微信小程序的内容也跟我们个人博客网站的文章一样 需要被搜索引擎收录后才能吸引自然流量 而微信小程序对应的搜索引擎其实就是微信搜索 所以想要提高收录率 除了发布优质的内容外 还需要确保小程序后台没有关闭 页面收录 功能 同时努力让我们的小程序
  • eslint 报错解决 ,关闭语法检测 vue-admin-template

    关闭eslint语法检测 在 eslintrc js文件中 注释掉 eslint recommended vue config js 里的warnings 和errors 都设为false 找到 eslintignore文件 末尾 加 就好
  • STM32F103使用内部Flash保存参数

    在我们应用开发时 经常会有一些程序运行参数需要保存 如一些修正系数 这些数据的特点是 数量少而且不需要经常修改 但又不能定义为常量 因为每台设备可能不一样而且在以后还有修改的可能 将这类数据存在指定的位置 需要修改时直接修改存储位置的数值
  • L3-005 垃圾箱分布 (30 分)

    题目 题目链接 题解 对每个垃圾箱进行一次队列优化的Dijskra 每算出一个垃圾箱到其余各个居民点的最短距离后 计算这些距离中的最大距离 最短距离 如果最大距离大于要求的距离则直接忽略这个位置放垃圾桶的情况 否则 如果最短距离小于已经记录
  • opencv——颜色识别

    颜色识别 文章目录 颜色识别 前言 一 颜色识别是什么 二 图像处理中对颜色的转换 三 HSV的相关函数和应用流程 步骤展示 实例操作 总结 前言 这段时间一直在弄有关机器视觉识别的问题 在比赛中用到了很多关于颜色识别的视觉算法 感觉在开始
  • java通过poi模板导出excel

    java通过poi来读写excel目前很方便 支持xls和xlsx格式 目前代码支持按照sheet模板导出 并且支持sheet页级的模板复制功能 附上poi的maven配置 Java代码
  • mysql group by失效

    在MySQL5 7之后 sql mode中默认存在ONLY FULL GROUP BY SQL语句未通过ONLY FULL GROUP BY语义检查所以报错 检查代码也都是正确无误那么可以用any value函数解决 例子 select a
  • 图神经网络(1):图卷积神经网络GCN ICLR 2017

    图卷积神经网络GCN ICLR 2017 是曾经在美国加州大学UCI教授 现在荷兰阿姆斯特丹大学教授 Max Welling团队的大作 Max是图灵奖获得者Hinton的弟子 第一作者T N Kipf已经成为这个领域有名的学者和工程师 如果
  • DHCP协议详细解析

    一 DHCP定义 DHCP 动态主机配置协议 是一个应用层的网络协议 指的是由服务器控制一段IP地址范围 客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码 当我们将客户主机ip地址设置为动态获取方式时 DHCP服务器就会根据D
  • Java学习--- MySQL多表查询与自连接

    目录 一 多表查询 二 笛卡尔集 三 非等值连接 四 自连接 五 练习 一 多表查询 基于两个和两个以上的表查询 在实际应用中 单表查询不能满足需求 当在多表查询的条件不能少于表的个数 1 不然会出现笛卡尔集 二 笛卡尔集 多表查询 查询员
  • 在多个浏览器中添加IDM插件

    许多朋友下载了IDM Internet Download Manager 不知如何使用 把包含视频的链接放到软件新建任务 下载下来的的却是网页而不是视频 该软件下载视频的其中一个方法 需安装浏览器插件 通过插件抓取视频下载源 正常来说 我们
  • multicycle path的概念和用法

    通常情况下 两个同步的reg进行timing check时 组合逻辑的delay必须在一个时钟周期内到达 才能满足setup的时序 但是在某些情况下 从一个寄存器输出到另外一个寄存器的data端需要不止一个cycle的时间 而且又不影响逻辑
  • c++之Vector(动态 )

    原文 Vector 向量 C 中的一种数据结构 确切的说是一个类 它相当于一个动态的数组 当无法知道数组的规模有多大时 用来解决问题可以达到最大节约空间的目的 1 用法 include
  • 《结构化思维》读书笔记

    读书使人进步 每天进步一点点 本周小萌精心读的一本书是 结构化思维 主要是讲结构化思考 很棒的一本书 推荐读 麦肯锡金字塔原理 以及其他的麦肯锡结构化思考方法 第一章 初识思维 思维是我们解读事实的起点 是产生行为的源头 是决定结果的根本
  • honeyd路由拓扑

    create router 创建路由器模版 set router personality Cisco 7206 running IOS 11 1 24 指纹 add router tcp port 23 usr share honeyd s
  • python+unittest+ddt,从0到1搭建接口自动化框架

    最近在学习纯代码的接口自动化框架 在网上查阅大量资料后 结合了多个文章 最后使用python unittest ddt实现了一个简单的接口自动化工具 可以实现读取excel中的测试用例 生成测试报告 并发送邮件的功能 下图是项目的框架结构