讲师中心 微信公众号
AI工具推荐 视频效率加速

Postman怎么在测试结束后清理创建的数据_Postman关联测试收尾流程设计

老伟同学_1686

老伟同学_1686

发布时间:2026-11-06 12:41:05

|

411人浏览过

|

来源于php中文网

原创

Postman测试后自动执行DELETE清理需在Tests脚本中用pm.sendRequest发起,依赖接口幂等性及安全提取ID;须复用环境变量、避免Pre-request清空、启用Runner“Stop on Failure”,并配合Newman外置脚本兜底。

postman怎么在测试结束后清理创建的数据_postman关联测试收尾流程设计

Postman测试结束后自动执行DELETE清理

Postman本身不提供“测试后自动清理”的原生钩子,但可以通过 Tests 标签页里的脚本,在收到响应后立即发起反向操作(如 DELETE)。这要求接口本身支持幂等删除,且返回的资源 ID 可被可靠提取。

常见错误现象:pm.sendRequest 被误写成同步调用、未处理 404 或 401 导致清理失败但测试仍显示通过、清理请求没加 Authorization 头被拒绝。

  • 确保清理逻辑放在 Tests 脚本末尾,而非 Pre-request Script
  • 用 pm.response.code === 201 或 pm.response.code === 200 判断创建是否成功,再决定是否清理
  • 从响应体安全取 ID:优先用 responseJSON.id,避免正则匹配出错;若字段嵌套深,先做 typeof responseJSON.data === 'object' 检查
  • 清理请求必须复用当前环境变量,比如 URL 写成 {{base_url}}/users/{{created_id}},而不是硬编码

用 pm.environment.clear() 清理临时变量防污染

测试中常把 token、ID、时间戳存进环境变量(pm.environment.set("user_id", "123")),但下个测试可能读到上一轮残留值,导致 404 或越权。手动清空不可靠,应主动在关键节点清理。

使用场景:一个 Collection 包含「创建用户 → 修改用户 → 删除用户」三步,第二步依赖第一步设的 user_id,但第三步执行完就该失效。

  • 在「删除用户」请求的 Tests 里加 pm.environment.clear(),清空全部环境变量(适合单流程闭环)
  • 若只需删个别变量,用 pm.environment.unset("user_id"),比 clear() 更精准
  • 注意:pm.globals.unset() 影响全局作用域,跨 Collection 也生效,慎用
  • 不要在 Pre-request Script 里清空,否则每次发送前都重置,变量根本存不住

Collection Runner 中启用「Stop on Failure」避免脏数据堆积

批量运行时,如果第 2 个请求失败(比如创建失败),后续依赖它的清理请求(第 5 个)大概率也失败,但 Runner 默认继续执行,造成部分数据残留、部分未删,排查困难。

Postman 12.27.7
Postman 12.27.7

Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。

下载

性能影响不大,但能显著降低收尾阶段的不确定性。

  • 打开 Collection Runner → 勾选 Stop on Failure(位置在「Run」按钮上方区域)
  • 配合每个请求的 Tests 加断言,例如 tests["Status code is 201"] = responseCode.code === 201;
  • 失败后手动检查已创建 ID,再单独发一次清理请求,比盲跑更可控
  • 不推荐依赖「Continue on Error」+ 全量清理脚本,因为无法判断哪些资源实际落地了

用 Newman + shell 脚本兜底清理(CI/CD 场景必需)

Postman UI 里做的清理只在本地有效;CI 环境(如 Jenkins)跑 Newman 时,pm.sendRequest 发起的清理请求可能因网络策略、权限或环境缺失而静默失败,必须有外部验证机制。

容易被忽略的地方:Newman 执行完就退出,不会等异步清理完成;Node.js 的 setTimeout 在 Newman 里不生效;清理失败也不会中断流水线。

  • 在 Newman 命令后追加 shell 脚本,例如:newman run collection.json && ./cleanup.sh
  • cleanup.sh 应调用真实 curl 或 Python 脚本,直连数据库或管理 API 删除测试前缀数据(如 WHERE name LIKE 'test_%')
  • 脚本内加重试逻辑(curl -f --retry 3)和超时控制(--max-time 30)
  • 所有清理操作记录日志,哪怕失败也要输出 cleanup failed for user_id=123, status=403,方便人工介入

真正可靠的收尾不是靠 Postman 单点执行,而是分层设防:请求级用 pm.sendRequest 快速清理,流程级用 Runner 控制执行流,系统级用外部脚本兜底。三者缺一不可,尤其当测试数据涉及数据库外键、缓存、消息队列时,仅靠接口 DELETE 很难真正归零。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

5070

2023.10.13

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

20

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

20

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

20

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Apipost从入门到精通
Apipost从入门到精通

共31课时 | 3.5万人学习

apipost极速入门
apipost极速入门

共6课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn