我最近做的项目有几个接口是用来导出Excel文件的,在刚开始用Postman测的时候,因为从没有接触过,有点懵了;学习慢慢有点收获后,在此整理分享下。

实际情景及接口参数

web界面上有个导出按钮,对应了一个接口;接口的响应 实际是下载一个Excel文件;

因为是公司数据,所以全篇多数图片都有马赛克,见谅。

postman导出下载文件名为response postman导出接口文件_导出文件接口


下图是接口的资料:

postman导出下载文件名为response postman导出接口文件_Postman_02

其实后面4个参数都是非必传,这些传参对实际导出的文件的数据记录有限制【实际相当于 搜索这些参数,搜索后的结果导出到excel中】,后面我会再针对这些,分享下Requests如何来做此 接口测试 + 数据校验的;

Postman访问此接口

先看下正常访问这个接口的情况,单击“ 发送”按钮,此接口的响应Body:

postman导出下载文件名为response postman导出接口文件_导出文件接口_03

responses body全是乱码,根本没法分清楚这是啥玩意,更不要说做断言了。

关于这部分,可以看官方文档中:官方文档 If your API endpoint returns an image, Postman will detect and render it automatically. For binary response types, you should select “Send and download” which will let you save the response to your hard disk. You can then view it using the appropriate viewer. This gives you the flexibility to test audio files, PDFs, zip files, or anything that the API throws at you.

postman导出下载文件名为response postman导出接口文件_导出文件接口_04

在我重新尝试Send and Download后,请求变成了下载,可以把响应下载下来;

postman导出下载文件名为response postman导出接口文件_设置断言_05


postman导出下载文件名为response postman导出接口文件_Send and Download_06


postman导出下载文件名为response postman导出接口文件_Send and Download_07


这个时候关于Postman对这个接口的功能验证基本完成;剩下的是下载的Excel数据的校验,可是要如何来做断言呢?

Postman设置断言

好像没什么思路;看看官方文档

postman导出下载文件名为response postman导出接口文件_Send and Download_08


其中关于Headers有部分的断言设置;【当然最简单的还是看状态码,200 OK就说明接口调通了,就正常下载了】

看下实际的接口的响应Headers

postman导出下载文件名为response postman导出接口文件_Send and Download_09


故而设置的断言如下:

postman导出下载文件名为response postman导出接口文件_Send and Download_10