首页>软件资讯>常见问题

常见问题

Postman collection 结合脚本,批量操作真香

发布时间:2023-11-28 10:15:55人气:187


我们可以通过EXCEL的插件将要写入的数据转成JSON,然后调用接口进行数据操作,这样很好,但有几点不足


1、但单个http请求数据量是有限制的

2、这样批量操作需要接口支持

3、这样批量操作要么成功,要么失败。不能做到我只重试失败的

基于此,postman的集合,结合脚本的批量操作,我们就闪亮登场。


如:业务要搞运营活动,需要广而告之用户积极参与,发短信是一种普遍存在的方式,如100w用户。这种操作,我们分为几步


一、整理数据到EXCEL或整理为CSV


二、通过postman选择文件


三、脚本编写


四、批量请求


五、检测结果


一、整理数据到EXCEL或整理为CSV

1.png

二、通过postman选择文件


1、在postman里建一个集合batchMessage

2.png

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

3.png

4.png

5.png

3、配置接口

6.png

3.1:请求头

7.png

3.2:请求体

8.png

三、脚本编写


{

    "sendUserNo": "system",

    "receiveUserNo": "{{receiveUserNo}}",

    "content": "{{content}}",

    "msgType": "4",

    "sourceType": "5",

    "bizNo": "{{bizNo}}",

    "sendTime": "{{sendTime}}"

这里的:

"{{receiveUserNo}}"

"{{content}}"

"{{bizNo}}"

"{{sendTime}}"

参数值都来自于脚本

9.png

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的请求里加入断言

10.png


pm.test("Status code is 201", function () {

    pm.response.to.have.status(201);

});

四、批量请求


所有准备工作完毕,开始请求接口

11.png

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

12.png

当返回状态是201时,我们断言他是成功的,所以是Pass状态


五、检测结果


可以在短信服务商平台去看我们短信是否发成功了,也可以到数据库里查看是否落库


这里这步我们省略,大家可自行尝试,有什么疑问,也可以随时私信沟通。



上一条:Postman使用中常见问答

下一条:Postman接口自动化测试教程:进阶用法 - 常用的测试脚本和常用的第三方包用法示例