当前位置: 首页 > news >正文

python+requests+yaml实现接口自动化用例

前言:最近也思考了一下怎么做接口自动化,以下内容属于自己目前阶段所学习到的内容,也逐渐投入自己实际工作中,把最近的学习新得跟大家分享下,话不多说,切入正题。

【职场干货】YAML用例驱动,无代码实现自动化框架!跟着大佬一步到位!保姆级教程快速上手!

对接口自动化测试用例的思考:接口测试大多测试人员都知道,属于黑盒测试范畴,针对拿到的接口地址,接口的参数,请求头格式对各种正常异常的参数输入,检查返回值是否跟预期结果一致,当然设计到接口安全性的问题也需要考虑进去,这里暂时不说明。那么接口自动化是不是我们可以提取系统中重要的接口进行接口用例的维护,然后实现每次版本发布前,执行一遍,看看这次开发发的版本,接口是否都是正常的,或者说,开发是不是动了哪些接口?导致我之前写的接口断言报错了?我自己觉得可行,因为我们都知道一般来说接口的变动是比较小的,所以说基于这一点,我觉得可行性还是比较高。因为最近实际工作中也会遇到开发发的版本质量很低,手工去验证确实太费时间了,不去验证的话,总感觉不放心,实际就是,前一个版本问题改好了,这个版本问题又出来了。因此我觉得接口自动化真的有必要,可以减轻很多手工压力。

接口自动化用例设计:我们知道现在比较主流的接口自动化测试是用python中的requests库来进行http请求,然后接口自动化接口数据驱动的话,需要把测试数据存放在文件中,目前比较受欢迎的是excel、json文件、yaml文件三种方式,最近三种文件我都用过,只能说各种优劣势吧,但是参考一些大佬的意见,好像yaml文件还是更多点,我最近还简单使用一下yaml文件,确实好用点。大家可以选择性使用其中一种。

整体项目目录:

 case里面放置所有测试用例,data里面放所有测试文件, report里面放测试报告、utils里面放一些公共方法,例如读取yaml文件内容,因为我会用pytest执行用例,根目录的conftest.py是针对控制台收集用例中文乱码进行重新编码。

yaml文件中内容展示:

 ids是展示接口测试的测试思路/测试输入,后面是结合pytest.mark.paramtrize进行参数化的ids输入,test_data是我们的维护的测试数据,我这边就是维护请求方式、请求地址、请求参数、请求头、预期结果

utils中读取yaml文件方法:

 case的测试用例文件:

 我们从utils里面的read_yaml文件中读取yaml文件内容后,然后测试用例中需要的参数,对应传入即可,这里涉及到yaml文件维护的数据到底是什么?pytest的参数化怎么用?这里暂时不去聊了。总体到这里我们就可以实现我们的需求了

测试报告:

【职场干货】YAML用例驱动,无代码实现自动化框架!跟着大佬一步到位!保姆级教程快速上手!

http://www.dtcms.com/a/326570.html

相关文章:

  • 【软件分享】格式工厂FormatFactory便携版本(解压即用)
  • 介绍一下jQuery的AJAX异步请求
  • Salesforce案例:零售企业会员积分体系
  • 新人如何简化学习Vue3文件
  • LangChain框架之 invoke() 方法
  • 【每日一错】PDB之间数据迁移
  • 7.Java的继承
  • 分享一款基于STC8H8K32U-45I-LQFP48单片机的4路数字量输入输出模块
  • 多重时间聚合算法(MAPA)改进需求预测模型
  • Redis实现排行榜
  • C++11 auto关键字:智能类型推导指南
  • 字符串相关例题(查询子串在主串中的个数)
  • GB17761-2024标准与电动自行车防火安全的技术革新
  • 编译GCC-12.1.0
  • Linux内核网络设备框架及其注册流程分析
  • Cursor 实用技巧与常见难题解析:从入门到进阶的技术实践
  • Pytest项目_day11(fixture、conftest)
  • OSPF IP FRR 理论和实验
  • 当C#遇上Notepad++:实现GCode可视化编辑的跨界实践
  • 3.数据类型和类型装换
  • Qt——实现”Hello World“、认识对象树与Qt坐标系
  • 用 Node.js 玩转 Elasticsearch从安装到增删改查
  • 月报 Vol.02:新增条件编译属性 cfg、#alias属性、defer表达式,增加 tuple struct 支持
  • 【前端插件】Code-Inspector-Plugin:重新定义前端开发的调试与协作体验
  • 【CSS 布局】告别繁琐计算:CSS 现代布局技巧(gap, aspect-ratio, minmax)
  • CobaltStrike的搭建与使用
  • 数字IC后端层次化Hierarchical Flow子系统Sub-System模块 block partition和pin assignment细节盘点
  • C++算法(数据结构)版
  • 《深度解构:React与Redux构建复杂表单的底层逻辑与实践》
  • 【软考架构】需求工程中,系统分析与设计的结构化方法