我有两个请求
第一个请求
在完成我的第一个请求后,我得到了响应,我可以在其中解析taskId
在我的测试选项卡中,我将解析并存储它,如下所示
let taskId = pm.response.json().body.result[0].data.task
console.log(taskId)
我可以看到taskId在控制台中打印为938
第二个请求
我需要使用从第一个动态URL获得的taskId
对该动态URL进行GET
http://localhost:3000/fortinet/monitor/{{taskId}}
因此,我设置了上面的URL,将HTTP动词设置为GET
在“预请求脚本”选项卡中,我执行了以下操作
let taskId = pm.globals.get("taskId")
结果
参考错误:未定义taskId
图像结果
如何进一步调试?
4条答案
按热度按时间sd2nnvve1#
最 建议 的 方法 是 使用 : key , 如
中 的 每 一 个
请 看 * * taskId * * 前面 的 冒号 。 原因 是 , URI 值 有时 可能 不 依赖 于 环境 。 因此 , 根据 用例 , 您 可以 像 我 说 的 那样 使用 或 {{taskId}}
v7pvogib2#
您必须设置变量,但您做错了
请尝试以下操作:
pm.globals.set("taskID", pm.response.json().body.result[0].data.task)
更多信息,请访问:https://learning.postman.com/docs/postman/variables-and-environments/variables/
1hdlvixo3#
请注意,以
https://example.com/:pathVariable.xml
或https://example.com/:pathVariable.json
等资源标识结尾的URL将不起作用。您可以使用带有
Accept: application/json
标题的https://example.com/:pathVariable
。vsdwdz234#
要传递动态值,首先必须在**
Tests
选项卡**中的环境变量或全局变量中设置它,因为测试在请求后运行,并且您将在请求发送后获得响应值,但由于您在json中获得响应,因此必须首先解析它,因此您可以在Tests
选项卡中写入以下内容:然后,您可以在url参数、请求正文或表单数据中的任何位置将
taskId
用作{{taskId}}
。如果你想详细了解如何从响应中提取数据并将其链接到请求中,那么你可以访问this postman's official blog post,这是由Abhinav Asthana CEO和Postman Company的联合创始人编写的。