
Postman Collection Runner 支持直接通过 data 对象访问 CSV 文件中的字段,无需手动解析文件;预请求脚本中可直接使用 data.字段名 获取当前迭代的值,并通过 pm.environment.set() 存入环境变量供后续请求体调用。
postman collection runner 支持直接通过 `data` 对象访问 csv 文件中的字段,无需手动解析文件;预请求脚本中可直接使用 `data.字段名` 获取当前迭代的值,并通过 `pm.environment.set()` 存入环境变量供后续请求体调用。
在 Postman 中使用 CSV 数据驱动测试时,许多用户误以为需在 Pre-request Script 中手动读取、解析 CSV 文件(如尝试调用 fs 模块或 pm.collectionVariables.get),但这是不可行的——Postman 的沙箱环境不支持文件系统操作(fs),也无法在运行时动态加载外部 CSV 文件。
正确方式是:利用 Collection Runner 内置的数据绑定机制。当你在 Runner 中选择 CSV 文件并启动运行后,Postman 会自动将每一行数据解析为一个 JavaScript 对象,并以 data 全局变量形式注入到每个请求的 Pre-request Script 和 Tests 脚本中。该对象的键即为 CSV 文件首行(表头)的列名,值为对应行的单元格内容(字符串类型)。
✅ 正确用法示例(假设 CSV 文件内容如下):
price,product_id,region 129.99,PROD-001,EU 89.50,PROD-002,US 249.00,PROD-003,JP
在 Pre-request Script 中可直接访问:
使用 qbo-mileage CLI 及用户凭证,从 Airtable、Outlook 或 Google Calendar 记录生成 QuickBooks Online 里程 CSV 文件。
// ✅ 正确:直接读取当前迭代的 price 字段
console.log("当前价格:", data.price); // 输出:129.99(第一轮)、89.50(第二轮)等
// ✅ 转换为数字并存入环境变量(推荐一步到位)
pm.environment.set("Lojistik Maliyeti", Number(data.price));
// ✅ 同时设置其他字段(如需多变量)
pm.environment.set("product_id", data.product_id);
pm.environment.set("region", data.region);⚠️ 注意事项:
- data 对象仅在 Collection Runner 执行时有效,在单个请求的“Send”按钮触发时不可用(此时 data 为 undefined);
- CSV 表头必须为合法 JavaScript 标识符(避免空格、特殊字符;若含空格如 "Lojistik Maliyeti",可用方括号语法:data["Lojistik Maliyeti"]);
- 所有 CSV 值默认为字符串,数值运算前务必使用 Number() 或 parseFloat() 显式转换;
- 环境变量设置后,可在请求 Body(如 raw JSON)、Headers 或 URL 中通过 {{Lojistik Maliyeti}} 插值引用。
? 小技巧:调试时可在 Pre-request Script 中添加 console.log(data),运行 Runner 后在 Console 标签页查看完整数据对象结构,快速确认字段名与值。
综上,无需复杂解析逻辑——只要 CSV 表头定义清晰,data.xxx 即是最简洁、最可靠的 CSV 数据接入方式。

















