CentOS下Postman如何进行数据驱动测试
导读:CentOS下Postman数据驱动测试实操指南 一 环境准备 安装 Postman(Linux 版) 从官网下载 Postman-linux-x64-*.tar.gz,解压到 /opt:sudo tar -xzf Postman-li...
CentOS下Postman数据驱动测试实操指南
一 环境准备
- 安装 Postman(Linux 版)
- 从官网下载 Postman-linux-x64-*.tar.gz,解压到 /opt:
sudo tar -xzf Postman-linux-x64-*.tar.gz -C /opt - 创建软链便于启动:
sudo ln -s /opt/Postman/Postman /usr/bin/postman - 可选:将 /opt/Postman 加入 PATH,便于命令行启动
- 从官网下载 Postman-linux-x64-*.tar.gz,解压到 /opt:
- 安装 Newman(命令行批量运行)
- 确保已安装 Node.js 与 npm,执行:
npm install -g newman
- 确保已安装 Node.js 与 npm,执行:
- 准备数据文件
- 支持 CSV/JSON;CSV 首行为列名,Postman 会将其作为变量名;建议 CSV 保存为 UTF-8 避免中文乱码;CSV 文件末尾不要留空行
二 在Postman中创建数据驱动用例
- 创建集合与请求
- 新建 Collection,添加请求并在请求参数(URL、Header、Body)中使用变量占位符 { { 变量名} }
- 准备数据文件
- CSV 示例(UTF-8 无 BOM,列名与占位符一致)
username,password user1,pass1 user2,pass2 - JSON 示例
[ { "username":"user1","password":"pass1"} , { "username":"user2","password":"pass2"} ]
- CSV 示例(UTF-8 无 BOM,列名与占位符一致)
- 编写测试脚本(Tests)
- 基础断言
pm.test("Status code is 200", () => pm.response.to.have.status(200)); - 使用数据文件字段进行校验(如校验返回用户名与数据一致)
const jsonData = pm.response.json(); pm.test("Username matches data", () => pm.expect(jsonData.username).to.eql(data.username));
- 基础断言
- 参数化方式
- 请求参数中直接引用 { { username} } / { { password} }
- 在脚本中也可通过 data.username / data.password 读取当前行数据
三 使用Collection Runner执行
- 打开集合运行器:在集合右侧选择 Run
- 配置运行参数
- 选择目标 Collection 与 Environment
- 在 Data 选择准备好的 CSV/JSON 数据文件;Iterations 会自动设为数据行数(CSV 首行为列名会被自动忽略)
- 设置 Delay(每次迭代间隔,单位毫秒)
- 运行与查看结果
- 点击 Start Run,在 Runner 界面查看每次迭代的请求、响应、断言结果与错误信息
四 命令行批量运行与CI集成(Newman)
- 导出集合与环境
- 在 Postman 中将集合导出为 collection.json,环境导出为 env.json
- 运行命令
- 基本:
newman run collection.json -e env.json -d data.csv - 常用选项
-n指定迭代次数(覆盖数据文件行数)-r cli,json,html生成多种报告--delay-request设置迭代间隔(毫秒)
- 基本:
- 示例脚本(可选)
const newman = require('newman'); newman.run({ collection: 'collection.json', environment: 'env.json', iterationData: 'data.csv', reporters: ['cli','json','html'] } , (err, summary) => { if (err) { console.error(err); return; } console.log('Collection run complete.'); } ); - CI/CD 集成
- 在 Jenkins/GitLab CI 等流水线中安装 Node.js 与 Newman,执行上述命令;根据 summary.run.failures.total 等统计结果设置构建状态
五 常见问题与最佳实践
- 编码与格式
- CSV 建议保存为 UTF-8;文件末尾不要留空行;Postman 会把 CSV 中非数值自动加引号,字符串无需手动加引号
- 数据文件选择
- CSV:数据量大更轻量;但不支持 bool、复杂结构
- JSON:支持 bool、null、嵌套对象/数组,适合复杂数据场景
- 变量作用域
- 请求参数用 { { 变量名} } 引用数据文件列名
- 脚本中用 data.列名 读取当前行数据;如需在多个请求间共享,可在 Pre-request Script 中写入集合/环境变量
- 运行配置
- 使用 Collection Runner 或 Newman 时,优先让数据文件决定 Iterations,避免与手动设置不一致
- 报告与排查
- 命令行建议开启 -r cli,json,html 多格式报告,便于本地与 CI 留存与定位失败用例
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS下Postman如何进行数据驱动测试
本文地址: https://pptw.com/jishu/769758.html
