【问题标题】:Postman: Get data from JSON file in Pre-request ScriptPostman:在预请求脚本中从 JSON 文件中获取数据
【发布时间】:2019-06-13 16:23:21
【问题描述】:

我正在尝试在 Postman 的预请求脚本中找到一种方法来使用我的 .json 文件中的数据。 正如您在下面的代码中看到的那样,我正在为我的请求使用循环。 在我的预请求脚本中,我想使用我的文件 Data.json 中的 "id_group":"14803,14805" 而不是 id_group = ["14803","14805"]; .

谢谢

网址:

.../group/{{id_of_group}}/members

主体:

    {
     "id_user": {{id_user}}
    }

预请求脚本:

var id_group = pm.environment.get("id_group");

if (!id_group) {
    id_group = ["14803","14805"];
}   

var currentIdGroup = id_group.shift();
pm.environment.set("id_of_group", currentIdGroup);
pm.environment.set("id_group", id_group);

测试:

var id_group = pm.environment.get("id_group");
console.log(id_group);
if (id_group && id_group.length > 0) {
   postman.setNextRequest('Add user to groups');
} else {
   postman.setNextRequest();
}

Data.json 文件:

[{
 "id_user":47091,
 "id_group":"14803,14805"
}]

【问题讨论】:

  • 您是否遇到错误?环境变量id_group 中有什么?查看您的数据文件 id_group 不是一个数组,它是一个字符串,所以您需要解析它
  • 我没有错误,我只是在询问如何去做。我后来发现 pm.iterationData() 正是我需要的。是的,它是一个字符串,所以我更改了生成 JSON 文件的方式。感谢您的帮助!

标签: javascript json postman


【解决方案1】:

您正在创建一个数组对象。但是pm.environment.set() 只存储字符串。 您必须使用JSON.stringify() 将它们转换为字符串。

我建议不要使用pm.environment.set("id_of_group", currentIdGroup);

pm.environment.set("id_of_group", JSON.stringify(currentIdGroup));

反过来也一样。如果您从 env vars 加载,则必须解析您的字符串化对象: JSON.parse(pm.environment.get("id_group"));

【讨论】:

  • 这也是个好主意。我找到了另一种方法,但我会尝试使用 stringify,只是好奇。谢谢!
【解决方案2】:

我刚刚找到了答案。 在预请求脚本中,我使用了变量 id_group,该变量用于获取将在循环中使用的 id。

我找到了 pm.iterationData.get();,它会从 JSON 文件中获取数据。而不是 id_group = ["14803","14805"]; 我使用 pm.iterationData("id_group")

我的预请求脚本现在如下所示:

var id_group = pm.environment.get("id_group");   

    if (!id_group) {
        id_group = pm.iterationData.get("id_group");
    } 

    var currentIdGroup = id_group.shift();
    pm.environment.set("id_of_group", currentIdGroup);
    pm.environment.set("id_group", id_group);

我有点作弊,我的 JSON 现在看起来像这样:

[{
 "id_user":47091,
 "id_group":["14803","14805"]
}]

【讨论】:

  • 不使用集合运行器从预请求脚本读取 JSON 文件怎么样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
  • 2018-02-28
  • 2022-01-16
  • 1970-01-01
  • 2021-03-19
  • 2018-11-15
  • 2020-02-29
相关资源
最近更新 更多