【问题标题】:How to return dynamic response from postman mock server?如何从邮递员模拟服务器返回动态响应?
【发布时间】:2021-05-13 19:31:23
【问题描述】:

我想从邮递员模拟服务器返回动态响应。
当邮递员中的模拟 URL 命中时,我们得到请求正文,我想从请求正文中获取字段值并将值返回给响应。

模拟网址:{{url}}/customer
请求正文:

{
    "Id": 47896,
    "name": userName
}

我想在响应正文中发送 Id 值:

{
    "Id":47896
}

我们正在项目中创建随机 Id 值,并在请求正文中使用该值点击模拟 URL。
每次调用模拟 URL 后 id 值都会不同。我们正在处理 Id 值,如果它不匹配,那么我们会抛出一个错误。
无论如何要处理请求正文?
在邮递员文档中,我没有找到任何确凿的解决方案。

【问题讨论】:

    标签: unit-testing postman postman-mocks


    【解决方案1】:

    有一个限制,您只能在邮递员应用程序中使用动态值,而不能在 newman 中使用。

    https://github.com/postmanlabs/newman/issues/2565

    在邮递员应用中,您可以:

    将模拟服务器中的响应设置为:

       {
          "id":{{id}}
       }
    

    为模拟服务器选择环境:

    点击编辑并选择环境。

    启用持久变量值设置

    请注意,这将使用您在脚本中设置为 pm.environment.set("name",valu") 的值更新初始值和当前值。

    现在通过 pre-reuest 脚本设置环境变量 id:

    pm.environment.set("id",5)
    

    输出

    注意:

    您应该发送两次请求,第一次是环境与云同步

    第二个是获得更新的响应,所以尝试在实际请求之前发送一个虚拟请求。

    在旧应用中它运行良好,现在看起来您需要两个请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      • 2020-08-26
      相关资源
      最近更新 更多