如何在邮递员中读取动态请求参数值?

时间:2019-03-27 12:01:23

标签: postman postman-pre-request-script

我在请求正文中的参数值中传递了一个随机整数-

"trans_id":"7q498992029699{{$randomInt}}"

在“测试”选项卡中获取trans_id参数的最终值的最佳方法是什么?

根据我的观察,在请求正文中再次使用{{$randomInt}}会得到一个不同的随机整数。

2 个答案:

答案 0 :(得分:2)

一种解决方法是在发送请求时使用Pre-request-script将其存储到环境变量中。然后在测试中获得相同的环境变量。

身体:

{
    "trans_id": "{{transId}}"
}

请求前脚本:

var randomNumber = '7q498992029699' + _.random(0, 1000);
pm.environment.set("transId", randomNumner);

测试:

var tarnsId = pm.environment.get("transId");

注意:{{$randomInt}}_.random(0, 1000)都在做相同的事情,它提供0-1000之间的随机数。

答案 1 :(得分:1)

您可以像这样在请求的Pre-Request脚本中将随机int创建为变量:

pm.globals.set('myRandomInt', Math.floor(Math.random() * 1000))

Or

// Using the built-in Lodash module
pm.globals.set("myRandomInt", _.random(0, 1000))

(在此示例中,我使用的是全局变量,但您当然可以使用环境变量。)

现在,您可以在请求正文和“测试”标签中重新使用变量{{myRandomInt}}