一、批量请求:从"手动点击"到"自动执行"1. 用Collection Runner批量运行接口
核心步骤:
创建集合:将需批量测试的接口拖入同一集合(如"用户模块测试");
配置运行参数:
点击集合右侧 ▶️ Run,设置 迭代次数(Iterations)(如5次,对应5组测试数据);
上传 数据文件(Data File)(CSV/JSON格式,存储多组参数);
设置 延迟时间(Delay)(如1000ms,避免请求过于频繁)。
执行与查看结果:点击 Run 集合名称,实时查看每个接口的断言结果(绿色√通过,红色×失败)。
- 数据驱动测试(CSV/JSON参数化)
CSV文件示例(测试多组登录账号):
csv复制username,password,expected_code test1,123456,200 test2,wrong,401 test3,,400
变量引用:
URL/Body中用 {{变量名}} 引用(如 {{username}});
断言中用 data.变量名 调用(如 pm.expect(pm.response.code).to.eql(data.expected_code))。
---二、智能断言:用脚本模板提升验证效率1. 常用断言模板(Tests标签页)
状态码验证:javascript复制pm.test("Status code is 200", () => pm.response.to.have.status(200));
响应体JSON字段校验:javascript复制pm.test("Response has token", () => { const jsonData = pm.response.json(); pm.expect(jsonData).to.have.property("token"); // 检查是否返回token pm.expect(jsonData.token).to.be.a("string"); // 检查类型为字符串 });
响应时间控制:javascript复制pm.test("Response time < 500ms", () => pm.expect(pm.response.responseTime).to.be.below(500));
- 断言脚本复用(集合级Tests)
操作:在集合 Edit → Tests 中编写通用断言(如状态码200、响应格式JSON),集合内所有接口自动继承,避免重复编写。
示例:
javascript复制// 集合级Tests:所有接口默认验证状态码和响应格式 pm.test("Status code is 200", () => pm.response.to.have.status(200)); pm.test("Content-Type is JSON", () => pm.response.to.have.header("Content-Type", "application/json")); ---三、进阶技巧:批量请求+断言实战案例
场景:测试用户注册接口(多组参数验证)
准备CSV数据(包含合法/非法参数):
csv复制username,email,password,expected_msg user1,test@example.com,123456,注册成功 ,test@example.com,123456,用户名不能为空 user2,invalid-email,123456,邮箱格式错误
请求配置:
Body中引用变量:{"username": "{{username}}", "email": "{{email}}", "password": "{{password}}"};
Tests断言:javascript复制const jsonData = pm.response.json(); pm.test("Check message", () => pm.expect(jsonData.msg).to.eql(data.expected_msg));
批量运行:
上传CSV文件,设置迭代次数=3,点击Run,自动执行3组测试,结果一目了然。
---四、效率工具:Newman命令行批量执行 智优达
场景:集成到CI/CD流程,或定时执行测试。
步骤:
导出集合为JSON:集合 → Export → 保存为 collection.json;
安装Newman:npm install -g newman;
命令行执行:bash复制newman run collection.json -d data.csv -r html --reporter-html-export report.html
生成HTML测试报告,包含请求详情、断言结果、耗时统计。