设置全局变量

Environment: 环境是一组变量,它允许您切换请求的上下文。优先使用,可以切换环境

Globals: 全局变量是工作空间中始终可用的一组变量。不受切换环境影响

Postman动态获取值(动态设置全局变量)_JSON

设置环境变量:

Postman动态获取值(动态设置全局变量)_全局变量_02

使用:

Postman动态获取值(动态设置全局变量)_postman_03

动态设置变量内容

获取相应内容

// 判断请求 可不写
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});

//获取请求内容
var data = JSON.parse(responseBody);

//设置全局变量
// 设置环境变量token,供后面的接口引用(设置的是Environment中的内容)
pm.environment.set("token", data.data.access_token);

Postman动态获取值(动态设置全局变量)_全局变量_04

获取Heade

var value= postman.getResponseHeader("key");
pm.environment.set("key", value);

Postman动态获取值(动态设置全局变量)_环境变量_05

获取Cookies

var value = _.get(postman.getResponseCookie('key'), 'value');
pm.environment.set("key", value);

Postman动态获取值(动态设置全局变量)_全局变量_06

示例:

pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
var data = JSON.parse(responseBody);

//key值
var key = '要加密的Key';
//current-timestamp
var currentTimestamp = new Date().getTime().toString();
//nonce-str
var nonceStr = getStr(32);

function getStr(len){
len = len || 32;
var chars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var maxPos = chars.length;
var s = '';
for (let i = 0; i < len; i++) {
s += chars.charAt(Math.floor(Math.random() * maxPos));
}
return s;
}

//token
var token = data.data.token;
//拼接加密字符串
var signStr = token + currentTimestamp.substring(0,10) + nonceStr.substring(0,16) + key;
var CryptoJS = require('crypto-js');
var lpSign = CryptoJS.MD5(signStr).toString();

// 设置环境变量token,供后面的接口引用
pm.environment.set("token", data.data.token);
// 设置环境变量current-timestamp,供后面的接口引用
pm.environment.set("current-timestamp", currentTimestamp);
// 设置环境变量current-timestamp,供后面的接口引用
pm.environment.set("nonce-str", nonceStr);
// 设置环境变量current-timestamp,供后面的接口引用
pm.environment.set("lp-sign", lpSign);</pre>

我的实例

获取token

Postman动态获取值(动态设置全局变量)_全局变量_07

Postman动态获取值(动态设置全局变量)_全局变量_08

//获取请求内容
var data = JSON.parse(responseBody);
// 设置环境变量token,供后面的接口引用(设置的是Environment中的内容)
pm.globals.set("token", data.data.token);