news 2026/5/1 9:59:01

接口自动化测试之 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/5/1 8:51:21

基于stm32单片机的地铁售票系统设计(有完整资料)

资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T3062405M设计简介:本设计是基于STM32的地铁售票系统,主要实现以下功能:1.可通过按键选择票种,不同票种价格…

作者头像 李华
网站建设 2026/5/1 6:08:16

同惠电子TH2851-030 阻抗分析仪高温介电测试解决方案

在新材料研发与电子器件可靠性评估中,高温环境下的介电性能是衡量材料适用性的核心指标之一。从航天器件的耐高温封装材料,到新能源设备的绝缘组件,都需要在宽温域、高频段下精准获取介电参数。同惠电子 TH2851-030 阻抗分析仪搭配高温介电测…

作者头像 李华
网站建设 2026/4/30 16:45:36

‌高效性能测试场景设计指南

性能测试是软件质量保证的核心环节,旨在评估系统在高负载下的稳定性、响应时间和资源消耗。设计高效场景能显著缩短测试周期、降低Cost,并精准定位瓶颈。本文基于ISTQB等标准框架,结合行业实践,为测试从业者提供一套可落地的设计方…

作者头像 李华
网站建设 2026/5/1 7:21:00

是德科技 E4990A 阻抗分析仪:精准测量,赋能多领域应用

是德科技 E4990A 阻抗分析仪是一款高性能、多功能的测试仪器,广泛应用于研发、生产、质控、进货检查等多个领域。凭借其卓越的技术指标和灵活的配置选项,E4990A 不仅满足了复杂研发环境下的高精度需求,也适应了生产线和质检环节对效率与稳定性…

作者头像 李华
网站建设 2026/5/1 7:38:47

渗透测试从入门到精通:小白蜕变白帽黑客的终极学习路线

渗透测试技术,从入门到精通,小白也能成为白帽黑客,最新的学习路线和方法都在这。 安全圈最热的渗透技术怎么学?从入门到精通最完整的学习方法,学完你就是白帽大佬。 首先你要知道渗透测试工程师的主要工作是什么&…

作者头像 李华
网站建设 2026/5/1 6:17:35

熬走 3 任领导,从运维转行网安:原来不是我没本事,是赛道选错了

凌晨 1 点,我蹲在机房地上接服务器电源线,后背被空调外机吹得发凉。手机里老板的消息还在跳:“客户数据丢了,天亮前恢复不了你就别来了。” 那是我做运维的第 8 年,手里攥着 11K 的薪资条,看着监控屏上闪烁…

作者头像 李华