我想从邮递员模拟服务器返回动态响应。
当 postman 中的模拟 URL 命中时,我们获取请求正文,我想从请求正文中获取字段值并将该值返回给响应。
模拟网址:{{url}}/customer
请求正文:
{
"Id": 47896,
"name": userName
}
我想在响应正文中发送 Id 值:
{
"Id":47896
}
我们正在项目中创建随机 Id 值,并在请求正文中使用该值点击模拟 URL。
每次调用模拟 URL 后,id 值都会不同。我们正在处理 Id 值,如果它不匹配,那么我们会抛出一个错误。
无论如何要处理请求正文?
在邮递员文档中,我没有找到任何决定性的解决方案。
答案 0 :(得分:0)
有一个限制,您只能在 postman 应用程序中使用动态值,而不能在 newman 中使用。
https://github.com/postmanlabs/newman/issues/2565
将模拟服务器中的响应设置为:
{
"id":{{id}}
}
为模拟服务器选择环境:
点击编辑并选择和环境。
启用持久变量值设置
请注意,这将使用您将在脚本中设置为 pm.environment.set("name",valu")
的值更新初始值和当前值。
现在通过 pre-reuest 脚本设置环境变量 id:
pm.environment.set("id",5)
输出
你应该发送两次请求,第一次让环境与云同步
第二个是获得更新的响应,所以尝试在实际请求之前发送一个虚拟请求。
在旧应用中它运行良好,现在看来您需要两个请求。