news 2026/5/1 9:56:02

Python接口自动化测试:接口数据依赖

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python接口自动化测试:接口数据依赖

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

一般在做自动化测试时,经常会对一整套业务流程进行一组接口上的测试,这时候接口之间经常会有数据依赖,那又该如何继续呢?

那么有如下思路:

  1. 抽取之前接口的返回值存储到全局变量字典中。
  2. 初始化接口请求时,解析请求头部、请求参数等信息中的全局变量并进行替换。
  3. 发出请求。

抽取接口的返回值存储到全局变量字典中

其中set_global_vars代表的是当前测试用例的全局变量设置列表, self.global_vars则代表测试类实例的全局变量字典,common.dict_get方法的具体实现请移步方法具体实现

解析字符串中全局变量并进行替换

这里,首先先创建识别全局变量的正则规则,然后运用re.sub方法进行替换。其中,re.sub中的repl参数可接受函数作为参数。global_var_repl方法中,使用global_var_dic字典去获取匹配的值并返回。

默认参数中,将全局变量做了这样一个识别: ${GLOBALVAR_NAME}, 用global_var_dic查找并替换全局变量时,则使用了默认预设的起止索引参数。这种写法我感觉有些奇怪, 但是目前也没想出更好的方法,如果大家有更好的实现思路的话欢迎讨论:)

最佳实践

接下来模拟一次全局变量替换的效果:

下面是控制台输出:

可以看出输出还是符合预期的,将字符串中全局变量成功解析。

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

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

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

Proteus下载后如何安装?通俗解释全过程

以下是对您提供的博文内容进行 深度润色与专业重构后的版本 。整体风格更贴近一位资深电子系统工程师/高校EDA课程主讲教师的实战经验分享,语言自然流畅、逻辑层层递进、技术细节扎实可信,彻底规避AI生成痕迹(如模板化表达、空洞套话、机械…

作者头像 李华
网站建设 2026/4/23 11:08:44

告别环境配置!用YOLOv9镜像快速搭建检测系统

告别环境配置!用YOLOv9镜像快速搭建检测系统 在产线质检现场,工程师盯着屏幕等待模型加载——PyTorch版本报错、CUDA驱动不匹配、OpenCV编译失败……一个本该5分钟启动的检测任务,卡在环境配置上两小时。这不是个别现象,而是过去…

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

TurboDiffusion踩坑记录:显存不足与生成失败的解决方案

TurboDiffusion踩坑记录:显存不足与生成失败的解决方案 1. 为什么TurboDiffusion会“卡住”?从原理看常见故障根源 TurboDiffusion不是普通视频生成工具,它是清华大学、生数科技和加州大学伯克利分校联合打造的加速框架——核心目标不是“能…

作者头像 李华
网站建设 2026/4/26 22:43:27

Linux 命令:ar

一、ar 命令核心概念 ar(archive)的核心作用是将多个目标文件(.o 文件)打包成一个静态库文件(通常以 .a 为后缀),程序编译时可以直接链接这个静态库,无需逐个引用目标文件。 静态库…

作者头像 李华
网站建设 2026/4/11 10:59:11

教育场景实战:用Seaco Paraformer做课堂录音文字化

教育场景实战:用Seaco Paraformer做课堂录音文字化 在教育数字化转型过程中,教师每天要处理大量教学音频——课堂实录、教研讨论、学生答辩、线上讲座……这些声音里藏着最真实的一线教学实践,却常常因为转写成本高而被束之高阁。人工听写1小…

作者头像 李华