postman使用3-前置脚本与接口关联

八、前置脚本

前置脚本:在Pre-requests Script中编写的JavaScript脚本。一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代码 。

主要使用场景:在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能,比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本中做加密处理,再比如说,有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码 。

案例:随机新增新闻

实现步骤:

  1. 在前置脚本中编写生成随机数
  2. 将这个值保存成环境变量
  3. 将参数t的值替换成环境变量的值 

脚本:

  //生成随机整数
  var random = Math.floor(Math.random()*100+1)
  console.log("随机数",random)
  //将随机数保存为环境变量
  pm.environment.set('random',random)

 

 

 

 九、接口关联

  在我们测试的接口中,经常出现这种情况 。上一个接口的返回数据是下一个接口的输入参数 

实现思路:

  1. 提取上一个接口的返回数据值,
  2. 将这个数据值保存到环境变量或全局变量中
  3. 在下一个接口获取环境变量或全局变量

十、常见返回值获取

{  
    "code": 0,  
    "message": "请求成功!",  
    "data": {  
        "roles": {  
            "api": [  
                "API-USER-DELETE"  
            ],  
            "points": [  //points是数组,所以需要下标获取
                "point-user-delete",  
                "POINT-USER-UPDATE",  
                "POINT-USER-ADD"  
            ]  
        },  
        "authCache": null  
    }  
}

//获取json体数据  
var jsonData = pm.response.json()  
// 获取user_id的值,通过下标获取列表中某个元素  
var user_id = jsonData.data.roles.points[1]

 

获取列表的最后一个元素

{  
    "code": 0,  
    "message": "请求成功!",  
    "data": {  
        "total": 24,  
        "rows": [  
             
            {  
                "id": "1066370498633486336",  
                "mobile": "15812340003",  
                "username": "zbz"  
            },  
            {  
                "id": "1071632760222810112",  
                "mobile": "16612094236",  
                "username": "llx"  
            },  
            ...  
            {  
                "id": "1075383133106425856",  
                "mobile": "13523679872",  
                "username": "test001",  
         
            },

//获取json体数据  
var jsonData = pm.response.json()  
// 获取id的值,通过slice(-1)获取列表中最后一个元素。  
var id = jsonData.data.rows.slice(-1)[0]

posted @ 2022-03-22 22:15  小情绪1999  阅读(842)  评论(0编辑  收藏  举报