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"
本文来自博客园,作者:青城杂文录,转载请注明原文链接:https://www.cnblogs.com/chenyq/p/18386642