news 2026/4/24 4:50:10

接口自动化测试之 pytest 接口关联框架封装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
接口自动化测试之 pytest 接口关联框架封装

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

一般情况下,我们是通过一个yaml文件进行关联实现

在根目录下新建一个文件yaml,通过上述conftest.py文件实现全局变量的更新:

1.首先需要建立一个读取、写入、清除yaml文件的工具类

如下:

import os import yaml class YamlUnit: def readAllYaml(self): with open(os.getcwd() + "/extract.yml", mode='r', encoding='utf-8') as f: value = yaml.load(stream=f, Loader=yaml.FullLoader) return value def readKeyYaml(self,key): with open(os.getcwd() + "/extract.yml", mode='r', encoding='utf-8') as f: value = yaml.load(stream=f, Loader=yaml.FullLoader) return value[key] def writeYaml(self, data): with open(os.getcwd() + "/extract.yml", mode='w', encoding='utf-8') as f: print(os.getcwd() + "/extract.yml") value = yaml.dump(data=data, stream=f, allow_unicode=True) def deleteYaml(self): with open(os.getcwd()+"/extract.yml",mode="w",encoding='utf-8') as f: f.truncate()

2.配合conftest.py文件+ fixture实现全局共享调用

# 实现部分前置 import pytest from comment.yaml_unit import YamlUnit @pytest.fixture(scope="function") def conn_getbase(): print("连接数据库成功") yield print("关闭数据库成功") @pytest.fixture(scope="session", autouse=True) def clear_yaml(): YamlUnit().deleteYaml() @pytest.fixture(scope="session", autouse=True) def get_token(): token = ''; # 获取token的代码请求 return token

3.调用时只需传入方法函数名称即可

如:下面函数使用之前需要连接数据库,只需传入conftest.py文件里面的conn_getbase函数名即可

def test_Login(self,conn_getbase): # post请求 url = "xxxxxxx" # 参数 data = { "captcha": "Gkak!@#2019", "checkKey": 1637811815838, "password": "123456", "remember_me": 1, "username": "admin" } rep = requests.request('post', url, json=data) statues = rep.json()["success"] message = rep.json()["message"] if statues: print(message ) else: raise Exception(message)

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 12:54:13

基于单片机的自动迎宾门的设计

2 基于单片机的自动迎宾门控制系统总体方案设计 2.1 设计的基本思路 (1)在人靠近自动迎宾门(开门或关门)时,安装在门上的热释电红外线感应器在监控范围之内检测到人体的活动,然后由单片机控制电机来开启车门。 (2)当无人接近时,关闭时间为1秒…

作者头像 李华
网站建设 2026/4/18 13:58:51

综合能源系统优化调度:基于MATLAB与CPLEX+Yalmip的创新实践

MATLAB程序:综合能源系统优化调度,考虑了阶梯型碳机制和氢能,具有一定的创新。 采用CPLEXYalmip求解,基本复现。在能源领域不断探索的道路上,综合能源系统优化调度成为了研究的热点。最近我在研究中实现了一个颇为有趣…

作者头像 李华
网站建设 2026/4/22 21:00:16

导师严选8个AI论文工具,专科生轻松搞定毕业论文!

导师严选8个AI论文工具,专科生轻松搞定毕业论文! AI 工具如何成为专科生论文写作的得力助手 在当今数字化快速发展的时代,AI 工具正以前所未有的速度改变着我们的学习和工作方式。对于专科生而言,毕业论文的撰写往往是一项既耗时又…

作者头像 李华
网站建设 2026/4/23 12:38:45

基于python和flask加油站管理系统的设计与实现_33mc5571

目录加油站管理系统设计背景系统架构与技术栈核心功能模块关键技术实现系统测试与效果关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!加油站管理系统设计背景 随着燃油需求的增长和…

作者头像 李华