我正在尝试使用响应中收到的查询参数设置环境变量。
我正在发送一个POST请求,在响应中我得到了我需要在下一个请求中使用的资源ID(因此需要将其添加为env变量)。
响应头: 位置→ {{3}}
我正在尝试从查询参数'consent_id'中检索值并将其设置为env变量。
我的env变量名为'ConsentId'。
我尝试过: pm.environment.set('ConsentId',JSON.stringify(pm.response.header.getQueryString(“ consent_id”)))); 没有运气。
不胜感激如何编写脚本,以便脚本将从标头中的url参数获取字段并将其放在env变量中。
答案 0 :(得分:0)
要在ConsentId
响应标头中获取Location
参数值并将其设置为Postman中的环境变量:
var key = 'consent_id';
var regex = new RegExp('[?&]' + key + '(=([^&#]*)|&|#|$)');
var redirectURL = postman.getResponseHeader('Location');
var matchResult = regex.exec(redirectURL);
var consentId = decodeURIComponent(matchResult[2].replace(/\+/g, ' '));
pm.environment.set('ConsentId', consentId);
顺便说一句,为使上述代码正常工作,应关闭“自动跟随重定向”选项:
注意:我无法从Location
中提取pm.response.headers
标头,这就是在以上代码中使用postman.getResponseHeader()
的原因。