Postman-批量插入多条数据后做数据销毁

背景信息


因工作需要,需要对某一接口批量插入600条数据,在postman尝试了两种方式,都实现了,因此这里做一个总结:

1.批量插入多条数据

方式一:用Postman的预请求脚本和环境变量功能来实现

思路:

  1. 封装请求体
  2.  pm.sendRequest发送请求

  3. 循环执行多次执行

//set up loop counter
var loopCount=3;

//loop to set up the request data
for(var i=0;i<loopCount;i++){
    var req_body= {
         "provinceCode": "350000",
         "regionCode": "350000",
         "unitName": "新增单位测试00"+i.toString()
    }
    console.log(req_body)

    //set up request
    var request = {
        url:"http://xxx.xxx.xxx.xxx:9076/gaplatformweb-api/system/sys-unit/save",
        method:"POST",
        header:{
            'Content-Type': 'application/json',
            'Fftoken':"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJBUFAiLCJ1c2VyX2lkIjoiYWRtaW4tMTAuMjMzLjk3LjAiLCJpc3MiOiJTZXJxxxx2aWNlIiwiZXhwIjoxNjkxMDUxNDUyLCJpYXQiOjE2OTA5NjQ0NTJ9.J_seGBl5cElzkyDllWmE0igGYaAQHhCuZs1uib2V1Us",
        },
        body:{
            mode:'raw',
            raw:JSON.stringify(req_body)
        }
    };

    //send request
    pm.sendRequest(request,function(err,response){
        var res = pm.response.json();
        console.log(res)
    });

};

方式一:Postman的Collection Runner功能来实现

思路:

请求体如下,插入的数据,前两个是读取库中的数据,存在联动关系,因此是固定的值,但是第三个参数是个动态值,并且需要保证唯一性,因此可以使用postman的动态参数来实现

{

         "provinceCode": "350000",

         "regionCode": "350000",

         "unitName": "新增单位测试"

 }


  •  Postman的内置动态参数

{{$timestamp}}  生成当前时间的时间戳。

{{$randomInt}}  生成0-1000之间的随机数

{{$guid}}           生成速记GUID字符串 

{
    "provinceCode": "350000",
    "regionCode": "350000",
    "unitName": "Christina{{$randomInt}}"
}
{
    "provinceCode": "350000",
    "regionCode": "350000",
    "unitName": "Christina{{$timestamp}}"
}
{
    "provinceCode": "350000",
    "regionCode": "350000",
    "unitName": "Christina{{$guid}}"
}

 Collection Runner来循环执行

 

  •  自定义动态参数

 用Postman的预请求脚本和环境变量功能来实现,在请求体中使用{{times}}调用写入环境变量的动态参数


//手动的获得时间戳
  var times = Date.now();
//设置为全局变量
  pm.globals.set("times",times);
 
  •   动态参数断言

1、内置动态参数:无法做断言

因为返回的类型不一样,断言结果会始终失败

2、自定义动态参数(全局变量):可正常断言

取出写入全局变量的变量

pm.globals.get("times")
pm.expect(pm.response.text()).to.equals("xxxxxxx"+pm.globals.get("times"))

2.批量删除插入的数据

思路:

做删除的话,需要去查询列表,通过数据的id去删除,删除的时候,请求体是个列表,所以需要查询出所有数据,然后把需要的Id放到列表中,存入环境变量,删除接口调用这个变量去删除

删除列表截图


 查询接口返回值截图

 根据查询接口来获取需要的删除列表

// 解析接口返回的 JSON 数据
var responseData = JSON.parse(responseBody);
//定义要删除的数据的id列表
var delList=[]
// 遍历用户数据
for (var i = 0; i < responseData.data.records.length; i++) {
  var user = responseData.data.records[i];
//把接口中unitName包含"Tester"的数据提取出unitUuid存放到列表中
  if (user.unitName.includes("Tester")) {
    delList.push(user.unitUuid);
    console.log(delList);
  }
}
pm.environment.set("delList",JSON.stringify(delList))

 postman调用环境变量值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值