【问题标题】:How to send the output of a GET REST request as body of POST request using Postman如何使用 Postman 将 GET REST 请求的输出作为 POST 请求的主体发送
【发布时间】:2018-01-20 16:26:01
【问题描述】:

对于我们的应用程序,我们应该编写测试脚本来测试我们的 REST API。

所以我在一个集合中用 postman 编写了单独的测试。单独运行时,所有测试都通过。

现在要在集合中按顺序运行所有测试,我希望将第一个 GET 请求的输出(响应是 JSON 对象数组)作为输入主体传递给下一个 POST 请求。

以下代码是在 GET 请求的测试中作为测试编写的。

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", jsonData);

postman.setNextRequest("POST request");

我已将我的发布请求命名为“POST 请求”。但是这个测试失败了。

如果我犯了任何错误,请告诉我。

【问题讨论】:

标签: json rest postman


【解决方案1】:

您正在尝试将整个 JSON 设置为环境变量而不是属性值。试着像这样改变你的线路。

const jsonData = pm.response.json(); 
pm.environment.set('data', jsonData);

稍后,使用该环境变量作为{{data}} POST 请求的输入

考虑到您的 JSON 响应是这样的。

  {
     "status": "SUCCESS",
     "message": null,
     "error": null,
     "id": 1234
 }

希望我回答了你的问题。我最近写了一篇关于使用邮递员自动化 API 的博客,你可以参考这里API Automation using postman

如果它解决了您的问题,请告诉我们。

啊!!错过了这一点。

如果您想发送整个 JSON 作为输入,请使用 JSON.stringify()

Similar question asked

【讨论】:

    【解决方案2】:

    数据应设置为 POST 操作请求的一部分。

    在 Postman 中,在 POST 请求的 body 部分中,您可以将数据设置为请求,可以是表单字段值,也可以是整个请求正文,例如原始数据。

    {{data}}
    

    这里有一些额外的信息和示例:https://www.getpostman.com/docs/postman/environments_and_globals/variables

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-31
      • 2018-10-29
      • 2015-07-17
      • 2019-10-11
      • 2021-06-24
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      相关资源
      最近更新 更多