Postman -重用预请求中的变量

0tdrvxhp  于 2023-04-11  发布在  Postman
关注(0)|答案(1)|浏览(157)

我在postman.enter image description here的预请求中遇到了变量重用问题
在预请求中,我尝试运行请求1和请求2
请求2使用请求1响应中的变量
问题是“guid”变量会一直保留旧值,直到预请求没有完成

pm.sendRequest({
    url: pm.environment.get("request_1"),
    method: 'POST',
    header: {
        'Content-Type': 'application/json'
    }

}, function (err, res) {
    console.log(res.json());
    pm.environment.set("uuid", res.json().uuid)
    pm.environment.set("date_1", res.json().data.object.date_1);
    pm.environment.set("date_2", res.json().data.object.date_2);
    pm.environment.set("guid", res.json().data.object.guid)
});
pm.sendRequest({
    url: pm.environment.get("request_2/") + guid,
    method: 'POST',
    header: {
        'Content-Type': 'application/json'
    }

}, function ()
);
wf82jlnq

wf82jlnq1#

它对我有效:

pm.sendRequest({
   url: pm.environment.get("request_1"),
   method: 'POST',
   header: {
      'Content-Type': 'application/json'
   }
 }, function(err, res) {
   console.log(res.json());
   var guid = res.json().data.object.guid;
   pm.environment.set("uuid", res.json().uuid)
   pm.environment.set("date_1", res.json().data.object.date_1);
   pm.environment.set("date_2", res.json().data.object.date_2);
   pm.environment.set("guid", guid);

   pm.sendRequest({
      url: pm.environment.get("request_2/") + guid,
      method: 'POST',
      header: {
        'Content-Type': 'application/json'
      }
   }, function());
});

说明:
您的代码有两个问题:1 - Postman不遵守请求的顺序,因此您需要通过嵌套函数以编程方式确保此顺序。2 -变量“guid”正在环境中设置,但您试图在本地访问它。您可以使用pm.environment.get(“guid”)声明或访问它。

相关问题