我们可以通过EXCEL的插件将要写入的数据转成JSON,然后调用接口进行数据操作,这样很好,但有几点不足
1、但单个http请求数据量是有限制的
2、这样批量操作需要接口支持
3、这样批量操作要么成功,要么失败。不能做到我只重试失败的
基于此,postman的集合,结合脚本的批量操作,我们就闪亮登场。
如:业务要搞运营活动,需要广而告之用户积极参与,发短信是一种普遍存在的方式,如100w用户。这种操作,我们分为几步
一、整理数据到EXCEL或整理为CSV
二、通过postman选择文件
三、脚本编写
四、批量请求
五、检测结果
一、整理数据到EXCEL或整理为CSV

二、通过postman选择文件
1、在postman里建一个集合batchMessage

2、点击Run,选择刚才整理的文件



3、配置接口

3.1:请求头

3.2:请求体

三、脚本编写
{
"sendUserNo": "system",
"receiveUserNo": "{{receiveUserNo}}",
"content": "{{content}}",
"msgType": "4",
"sourceType": "5",
"bizNo": "{{bizNo}}",
"sendTime": "{{sendTime}}"
}
这里的:
"{{receiveUserNo}}"
"{{content}}"
"{{bizNo}}"
"{{sendTime}}"
参数值都来自于脚本

pm.environment.set("receiveUserNo", data.userNo);
pm.environment.set("content", data.content);
pm.environment.set("bizNo", data.userNo);
var moment = require('moment');
var sendTime = moment().format("YYYY-MM-DD HH:mm:ss");
pm.environment.set("sendTime", sendTime);
因为接口需要发送时间,所以,我们就通过postman的时间函数来构建发送时间
api接口:
@ApiOperation(value = "创建消息", nickname = "createMessage", httpMethod = "POST")
@PostMapping("/messages")
@ResponseStatus(HttpStatus.CREATED)
public void createMessage(@Valid @RequestBody MessageContentRequest request) {
messageOperationAppService.createMessage(messageContentMapper.toModel(request));
}
通过这里,我们可以看到,当响应状态为HttpStatus.CREATED时表示成功,所以,我们可以在postman的请求里加入断言

pm.test("Status code is 201", function () {
pm.response.to.have.status(201);
});
四、批量请求
所有准备工作完毕,开始请求接口

成功了哪些,失败了哪些都可以看到。对于失败的,我们可以重试,非常简单方便

当返回状态是201时,我们断言他是成功的,所以是Pass状态
五、检测结果
可以在短信服务商平台去看我们短信是否发成功了,也可以到数据库里查看是否落库
这里这步我们省略,大家可自行尝试,有什么疑问,也可以随时私信沟通。
上一条:Postman使用中常见问答
下一条:Postman接口自动化测试教程:进阶用法 - 常用的测试脚本和常用的第三方包用法示例