postman通过CSV、JSON文件来进行循环迭代发送请求和断言

postman 导入 csv、json 外部数据
 

postman 支持导入外部数据(csv 格式或 json 格式),使用外部数据循环执行某一组 collection ,这对于自动化测试是十分方便的,以下以一个例子来说明步骤:

 

假设要对 getHolidayByTimes 接口进行测试,该接口返回请求参数 startTime,stopTime 之间的假期时间,响应的 json 类似如下:

编写的外部数据 csv 文件类似如下:

假设需要 postman 从某个 csv 文件中逐行读取,先填充 startTime,stopTime,然后执行请求,再执行响应断言,以此循环 csv 中的所有数据,步骤如下:

 

1. 在 HTTP 请求中引用外部数据

在 HTTP Request 的 Body、Headers 中引用外部数据,直接引用该数据的 key 值即可,如引用 csv 文件中的 startTime 数据列,可以通过{{startTime}} 来引用,类似如下:

在 HTTP Request 的 pre-request script,tests 引用外部数据,可以通过 data 对象来引用,如引用 csv 文件中的 code,assertTime 数据列,可以分别通过 data.code,data.assertTime 来引用,类似如下:

2. 进行 collections runner 设置

3. 导入外部数据;

点击 Preview 可以查看数据详情;

4. 运行结果类似如下,可以很方便地看到测试通过情况;

 

需要补充说明的是,上传的文件类型是CSV或者JSON没有任何区别,因为这里上传的只是变量和变量值,并不是真正发送的消息体,比如上传的是CSV文件,请求体需要用JSON格式,那就可以如下设置: