Excel+Postman十分钟生成批量接口请求2019-09-
如果对基本操作有不明白的,Postman官网提供了很多支持性的文档,可以参阅https://www.getpostman.com/support:
image由于大量的公司开始使用敏捷模式进行开发和测试,所以要想办法在短时间内完成大量的接口测试,为开发更早地提供缺陷信息,为测试节省更多的测试时间。
image在接口测试中,我们需要覆盖的测试点比界面测试要多很多,有时候甚至需要弥补开发单元测试的不足,所以案例数量大是必然的。一个一个手动输入到postman里面需要点击新建-请求-输入url-输入body-保存,如果有200个接口,需要点击2000次以上才能新建所有的请求,而且如果看串行或者粘贴错了内容,返工的工作量会更大。所以既然postman提供了导入功能,我们完全可以想办法一次性导入所有的请求。
image所以我们今天可以来研究下怎么在拿到接口文档之后,利用Excel加上Postman,在短时间内生成大量的接口请求。我们拿postman-echo.com为例,一般情况下,测试拿到的接口文档必须要包括的内容有案例名称,请求类型(大部分是GET、POST、PUT、DELETE类型),URL,Body,如果有其他的比如Auth相关的,我们可以修改Excel中的Column来保证符合Postman导入格式的要求,本文就不一一列举了,最简单的请求样式如下:
image所以首先我们需要根据Postman支持的格式对它进行修改和拼接,怎么知道postman支持的格式是什么样的呢?我们在postman中手动新建一个GET类型的request,然后将Collection导出,一般选择v2.1(Recommand):
image导出之后用记事本打开,我们就会发现,不管有多少个request在里面,每个Collection都有自己的info部分,只是item中的数量不一样而已:
image下一步就是从collection中提取固定部分,然后参数化变化部分,比如在Sheet2中,将固定部分分解成5块,在Sheet1中去调用:
image例如第一个请求(F2格中)的公式为:=CONCATENATE(A2,Sheet2!2,B2,Sheet2!3,C2,Sheet2!4,D2,Sheet2!5),利用公式合成第一个请求的json,再直接拖拽就可以完成下面所有请求的.json, 而F1格中则是所有公式结果的汇总:=LEFT(CONCATENATE(Sheet2!1,F2,F3),LEN(CONCATENATE(Sheet2!1,F2,F3))-18)&"]}":
image直接复制F1格中的内容,贴入记事本中,用Postman去做Import的话是会报错的,因为Excel中字符格式并不符合要求:
image所以我们需要做的是将所有双引号(””)全部替换为单引号(”),注意:一定要将最开头和结尾的引号(”)删除,另存为JSON文件xxx.json,编码选UTF-16 LE(也就是Unicode):
image还有需要提示大家的是,由于Excel里面每个单元格有字符数限制,所以大家可以根据自己接口的复杂程度,切分成多次导入:
image这样再导入Postman,就不会报错了。
image