Postman参数化执行是通过将请求中的固定值替换为变量,结合数据文件或脚本实现多个数据集的批量测试。以下是具体操作步骤和关键点:
一、参数化核心概念
-
变量类型
- 环境变量:区分不同环境(如开发、测试、生产),通过
Manage Environments
设置,引用格式为{{variable_name}}
。 - 全局变量:跨所有环境共享,适用于固定值(如公共Token),引用格式同上。
- 数据文件变量:通过外部文件(CSV/JSON)批量传入参数,适用于多组数据测试。
- 环境变量:区分不同环境(如开发、测试、生产),通过
-
变量引用规则
- 在请求的URL、Headers、Body等位置使用
{{variable_name}}
引用变量。 - 示例:
http://example.com/api/user?id={{userId}}
。
- 在请求的URL、Headers、Body等位置使用
二、参数化执行步骤
1. 设置变量
- 环境变量/全局变量:
- 点击Postman右上角的
Env
按钮,选择Global
或新建环境。 - 输入变量名和初始值(如
baseURL = https://api.example.com
),保存后引用为{{baseURL}}
。
- 点击Postman右上角的
- 数据文件变量:
- 准备CSV或JSON文件(如
data.csv
),内容示例:"userId","password" "1001","123456" "1002","abcdef"
- 在Collection Runner中上传文件(
Data
选项),Postman自动解析并赋值到请求变量。
- 准备CSV或JSON文件(如
2. 配置请求参数化
- 直接引用变量:在请求的参数中填写
{{variable_name}}
,如:{ "username": "{{user}}", "password": "{{pass}}" }
- 动态生成变量:通过
Pre-request Script
脚本设置动态值(如时间戳、随机数):// 设置当前时间戳(秒级) postman.setGlobalVariable("time", Math.round(new Date() / 1000)); // 生成随机字符串 postman.setGlobalVariable("randomStr", Math.random().toString(36).substr(2, 4));
3. 批量执行测试
- 点击Postman左侧的
Collections
,选择需要执行的接口集合。 - 点击
Run
按钮打开Collection Runner
,配置以下参数:- Data File:选择准备好的CSV/JSON文件(若使用数据驱动)。
- Iterations:设置循环次数(如重复执行3次)。
- Delay:设置请求间隔(如100ms),避免触发接口限流。
- Persist Variables:
- 勾选:保留环境变量原值,不使用数据文件中的同名变量。
- 不勾选:数据文件中的变量覆盖环境变量(常用场景)。
- 点击
Run
执行,查看结果(通过/失败数量、响应时间等)。
4. 断言与结果验证
- 在
Tests
标签页编写断言脚本,验证响应状态码、字段值等:pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Response body contains success", function () { pm.expect(pm.response.json().status).to.eql("success"); });