如何使用Postman读取CSV并断言礼品卡接口响应金额
解决Postman批量验证礼品卡余额接口的问题
我来帮你搞定这个Postman批量测试的需求,步骤很清晰,跟着来就行:
1. 准备测试数据(CSV文件)
首先把你的测试数据保存成CSV文件,内容如下:
GCNumber,facilityid,Balance eqx93019107722,871,150 WEB270412011610,871,100 WEB270412014333,871,200
2. 配置Postman请求
在Postman里创建对应请求(假设是GET请求,若为POST可调整请求方法),请求URL设置为:
http://localhost/purchase/gift-card/{{GCNumber}}/for-facility/{{facilityid}}
这里的{{GCNumber}}和{{facilityid}}会自动从CSV文件的对应行读取变量值。
3. 编写测试脚本
在请求的「Tests」标签页中,添加以下JavaScript测试脚本,用来验证响应中的amount字段与CSV内的Balance值是否一致:
// 从当前迭代的CSV数据中获取Balance值,转换为数字类型 const expectedBalance = parseFloat(pm.iterationData.get("Balance")); // 解析接口返回的JSON响应 const responseData = pm.response.json(); // 执行余额匹配断言 pm.test("验证礼品卡余额与预期一致", function () { pm.expect(responseData.amount).to.eql(expectedBalance); });
4. 运行批量测试
打开Postman的「Collection Runner」,选择你的目标请求/集合,加载刚才准备的CSV文件,设置好迭代次数(对应CSV的行数),点击运行就能批量验证每一条数据了。
补充说明
- 用
parseFloat转换Balance是因为CSV里的数值是字符串类型,而接口返回的amount是数字类型(比如150.00),转换后才能准确做相等性比较 - 如果接口返回的
amount是字符串格式,也可以把响应值也转成数字再比较,比如parseFloat(responseData.amount)
内容的提问来源于stack exchange,提问作者Garvit Chandna
相关产品推荐
相关产品推荐

