postman/apifox前置后置获取数据代码断言

1,get请求

https://www.localhost.cn/file/list?attestationType=0&keyword=%E5%9B%BE%E7%89%87&orderType=desc&pageNum=1&pageSize=20

返回结果:

{
    "data": {
        "total": 1,
        "list": [
            {
                "id": 67487,"fileSize": 2111313,
                "fileName": "背景图.png",
                "fileOssKey": "743898背景图.png",
                "fileLabel": "1",
                "fileType": "IMAGE",
                "createTime": "2024-08-14 18:25:30",
                "completedAt": "2024-08-14 18:25:41",
                "submitTime": "2024-08-14 18:25:31",
          "fileHash": "2c4511eca20f8ce1e7932e6a6ca4b", "attestationType": 0, "status": 3, "channel": 1 } ], "pageNum": 1, "pageSize": 20 }, "statusCode": "000000", "errorMessage": "操作成功" }

后置断言:

1,//结果成功
pm.test("code=000000", function () { var jsonData = pm.response.json(); pm.expect(jsonData.statusCode).to.eql("000000"); });
------------------------------------- 2,入参与出参的校验:include包含
var postParams = pm.request.url.query.get("keyword"); // 获取get入参 var jsonData = pm.response.json(); if (jsonData.data.list.length!=0) { pm.test("包含一致", function () {
//转码中文decodeURIComponent pm.expect(jsonData.data.list[
0].fileName.toString()).to.include(decodeURIComponent(postParams)); }); }
-------------------------------------------------------
3,时间判断,入参时间在开始时间与结束时间区间范围内
var jsonData = pm.response.json();
if (jsonData.data.list.length!=0) {
    var startTime = decodeURIComponent(pm.request.url.query.get("startTime"));
    var endTime =  decodeURIComponent(pm.request.url.query.get("endTime"));
    var startdate = new Date(startTime).getTime();
    var enddate = new Date(endTime).getTime();
    var submitTime = new Date(jsonData.data.list[0].submitTime).getTime();
    pm.test('submitTime在 startdate后,在 enddate前', function () {
        pm.expect(submitTime).to.be.above(startdate); //submitTime>=startdate
        pm.expect(submitTime).to.be.below(enddate);//submitTime<=enddate
    });

}

 

获取url 参数:
/aa/bb/collect/download/{nnn}

var no= pm.request.url.path[4];
var jsonData = pm.response.json();
pm.test("nnn一致", function () {
    pm.expect(jsonData.data[0].ano).to.eql(decodeURIComponent(no));
    
pm.environment.set("wy", jsonData.data[0].ss);
});

 

2,post请求

https://www.localhost.cn/file/listv2

{
    "pageSize": 10,
    "pageNum": 1,
    "type": 3
}
 
后置断言:
var postParams = JSON.parse(pm.request.body.raw); // 获取post入参
var jsonData = pm.response.json();
if (jsonData.data.list.length!=0) {
    pm.test("type一致", function () {
    pm.expect(jsonData.data.list[0].type.toString()).to.eql(postParams.type.toString());
    });
}

 

其他:https://blog.csdn.net/weixin_46588640/article/details/123480489

前置条件/后置条件,设置变量

前置条件,设置变量
// 生成一个随机的四位数
var random = Math.floor(1000 + Math.random() * 9000);

// 将生成的随机数设置为环境变量
pm.environment.set("random ", random );

// 生成一个随机的二位数
var randomNumber = Math.floor(10 + Math.random() * 90);

// 输出随机数
console.log(randomNumber);

// 如果需要在Postman环境变量中使用这个随机数
pm.environment.set("randomNumber", randomNumber);
后置条件,设置变量
//获取数据
var code=responseCode.code;
if(code=='200'){
    //获取body中返回的所有参数
    var jsonData =JSON.parse(responseBody);
    //获取返回的data值 
    var sealId = jsonData.data.list[0].id;
    pm.environment.set("sealId_p",sealId );    
}

 

//获取当前时间
//
引入Moment.js,postman要安装此js ,apifox自带此js const moment = require('moment'); // 使用Moment.js函数 const now = moment().format('YYYY-MM-DD HH:mm:ss'); console.log('当前时间是:', now); //"当前时间是:" "2024-07-19 15:46:02"

 

posted @ 2024-08-29 15:00  青城杂文录  阅读(30)  评论(0编辑  收藏  举报