【问题标题】:How to chain these two Postman requests如何链接这两个 Postman 请求
【发布时间】:2021-05-07 23:57:31
【问题描述】:

我是 Postman 的新手,我正在尝试自动使用这两个请求。 第一个是一个 POST 请求,它返回一个带有单个键:值对(“id”)的 JSON 第二个是 POST 请求,它只返回 200 OK

到目前为止,我已经设法将第一个请求响应中的“id”保存到环境变量中。

但是,我仍然需要执行以下操作: 发送第一个请求后,等待大约 30 秒,将第一个请求的“id”放入第二个请求的 URL,然后发送第二个请求。

【问题讨论】:

    标签: postman postman-pre-request-script


    【解决方案1】:

    在下图中,您可以在尝试运行 postman 之前找到延迟选项。 此选项用于在运行器中运行的请求之间添加延迟。

    您可以查看我的视频以了解有关邮递员运行程序和请求链接的更多信息。 Postman Runner and Request Chaining Explained in Detail

    【讨论】:

      【解决方案2】:

      要等待 30 秒,请在预请求脚本中使用 setTImeout:

      setTimeout(()=>{},30000)
      

      这将等待 30000 秒

      现在要发送 id url,您可以直接将其添加到 url 作为 {{id}} 或在 prerequest 脚本中添加:

      pm.request.addQueryParams({key:"id",value:pm.variables.get("id")})
      

      如果你想一次又一次地运行请求直到得到 200:

      将此添加到请求 2 的测试部分

      if (pm.response.code !== 200) {
          setTimeout(()=>{postman.setNextRequest(pm.info.requestName)},5000)
          
      
      }
      

      注意:邮递员中的请求选项之间存在自动延迟,您也可以使用它。

      setNextRequest 也只有在你使用 newman 或 collection runner 运行时才有效

      【讨论】:

      • 谢谢,它有效。现在我可以重试第二次请求几次(中间有 5 秒的暂停),直到我得到 200 OK 响应?
      • @damnatus 您是手动还是通过自动化执行此操作?
      • 我正在使用 Collection Runner,但如果可以通过手动运行第一个请求,我会很高兴学习它
      • @damnatus first request 适用于 collection runner 和 manuall 但一次又一次地自动发送请求 2,您应该使用 pm.sendrequest 或 collection runner 。我更新了答案你可以试试
      • 谢谢(我才意识到这只是意味着“使用这个请求”哈哈)
      猜你喜欢
      • 2020-01-23
      • 1970-01-01
      • 2021-03-16
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 2020-05-31
      • 1970-01-01
      • 2017-12-08
      相关资源
      最近更新 更多