【发布时间】:2018-07-15 05:35:46
【问题描述】:
我在 Postman 中有一个 API 获取请求,它使用凭证代码的数据文件来查找有关代码的其他信息,例如代码所用的产品名称。使用 collection runner 时,凭证代码传递不正确,并返回有关产品的数据。
由于某种原因,我无法从响应正文中捕获数据并将其链接到下一个请求。
第一个获取请求在正文部分有这个:
{
"dealId": 6490121,
"voucherCode": "J87CM9-5PV33M",
"productId": 520846,
"productTitle": "A Book",
"orderNumber": 23586548,
"paymentMethod": "Braintree",
"deliveryNotificationAvailable": true
}
我在测试部分有这个来捕获值:
var jsonData = pm.response.json()
pm.environment.set("dealId", jsonData.dealId);
pm.globals.set("productId", jsonData.productId);
在正文中发布下一个请求时:
{
"dealId":{{dealId}},
"dealVoucherProductId": {{productId}},
"voucherCode":"{{VoucherCode}}",
}
和预请求脚本:
pm.environment.set("productId", "productId");
pm.globals.set("dealId", "dealId");
如您所见,我尝试使用全局变量和环境变量都没有填充下一个请求正文。
我错过了什么?
【问题讨论】:
-
您不需要在预请求中设置该设置,因为它没有做任何事情。您在下一个请求中的正文不是有效的 JSON,而您要通过
"{{VoucherCode}}"得到的只是那个确切的字符串。您设置environment和global变量是否有原因?
标签: http-post environment-variables postman get-request postman-collection-runner