在上面的操作中,接口通过读取csv文件中定义的数据,进行测试,但是不同的数据期望结果不一样

以新建话题为例

不同数据有不同的期望结果

当标题的数据为空的时候
image.png
期望结果有两个

  • 状态码为 400
  • 返回结果中 error_msg 字段值为 标题不能为空

当 token值为空的时候
image.png

期望结果有两个

  • 状态码为401
  • error_msg 的结果为 错误的accessToken

不同的数据 有不同的期望结果。 这个给我们断言带来了比较大的挑战。

断言预期结果放在csv文件中

根据业务,将期望的数据放在csv文件中
image.png
执行的时候需要动态的从csv文件中获取断言。
编写执行脚本

  1. // 从csv文件中获取 变量 pm.variables 从csv文件中获取变量,csv文件中字段 status_code
  2. // 将从csv文件中获取到的值设置 传递给code
  3. var code = pm.variables.get("status_code")
  4. // code 值从csv文件中读取过来类型为字符串,需要转换为数字
  5. code = parseInt(code); // parseInt 将字符串转换为数字
  6. pm.test("状态码应该为"+code, function () {
  7. // 实现动态状态码的断言
  8. pm.response.to.have.status(code);
  9. });

image.png

运行脚本,可以看到结果
image.png

附件

csv参数化.postman_collection.json
testdata.csv