postman 动态变量

2022-06-26  本文已影响0人  Nick_4438

postman 动态变量

背景

经常使用postman调试接口的时候都会遇到情况调用应用接口之前需要先调用一个登录接口获取token。然后使用这个token请求其他协议。

这里我们会使用到2个知识点。

  1. postman变量功能;
  2. postman前置调用脚本。

测试应用接口介绍

调试本实例 我们简单的写了一个应用,该应用有2个接口,分别是:

# 请求
curl --location --request POST 'http://localhost:8080/api/login' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name":"admin",
    "password":"e10adc3949ba59abbe56e057f20f883e"
}'

# 应答
{
    "user": {
        "id": 1,
        "name": "admin",
        "phone": "123",
        "address": null,
        "tokens": [],
        "department": null,
        "roles": []
    },
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxIn0.bFwLcjdORwcB3OhUWK1wjVe7P3gcum1xwFY2USrqo4k"
}

# 请求,token需要实际请求token。
curl --location --request GET 'http://localhost:8080/api/getMessage' \
--header 'token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxIn0.bFwLcjdORwcB3OhUWK1wjVe7P3gcum1xwFY2USrqo4k'

# 应答
你已通过验证

测试详情

image.png image.png image.png
//  该script是js脚本。pm对象是postman内置的对象,可以调用Postman的发送和接收能力
let userInfo = {"name":"admin","password":"e10adc3949ba59abbe56e057f20f883e"}
let requestData = {
    url: "http://localhost:8080/api/login",
    method: "post",
    header: [
        "Content-type: application/json"
    ],
    body: {
        mode: "raw",
        raw: JSON.stringify(userInfo)
    }
}
//调用postman发送数据
pm.sendRequest(requestData, function(err, res){
    let rst = res.json();
    console.log("result:",rst);
    var token = rst.token; // 根据自己的返回json结构来获取
    console.log("token:"+token);
    // 获取到token重置环境变量的数据
    pm.environment.set("token", token);
})
image.png

其他

image.png
上一篇下一篇

猜你喜欢

热点阅读