邮递员 - 如何生成特定范围内的随机数?

11 random postman

我需要为邮递员生成特定范围内的随机数.我想知道是否有可能生成它并在postman中使用它变量,从我在postman网站上看到的是:

{{$randomint }}
Run Code Online (Sandbox Code Playgroud)

将给出1-1000之间的随机数,我已经尝试过这样的事情:

{{$randomint(1,5)}}
Run Code Online (Sandbox Code Playgroud)

获得1-5之间的数字,但邮递员没有得到这种选项,那么如何在邮递员中指定随机范围?

Dan*_*ton 17

您可以使用Lodash它,因为它是一个内置模块:

pm.environment.set("random_number", _.random(1, 5))
Run Code Online (Sandbox Code Playgroud)

或者只是将数字添加5_.random()函数中,这将是0到5之间的数字.

  • 有没有办法让随机变量随着每次使用而改变,而不仅仅是每次请求?在请求正文中,每次使用 {{random_number}} 都是相同的。 (3认同)

chd*_*cha 7

这为我工作:

在请求前脚本中,使用以下命令定义变量:

postman.setGlobalVariable('ran', Math.floor(Math.random() * 5));
Run Code Online (Sandbox Code Playgroud)

然后在您的url中像这样调用您的变量:

{{ran}}
Run Code Online (Sandbox Code Playgroud)

希望这对您有用。

  • 这输出 0-4 而不是 1-5! (2认同)

Man*_*tiz 6

有一点晚。但以上答案都不适合我。我通过在预请求选项卡中设置一个变量来解决它。

例子:

pm.collectionVariables.set ("randomNum", _.random (20,100));
Run Code Online (Sandbox Code Playgroud)

然后在我的请求正文中使用变量名称(像任何其他变量一样)

{
    "number": {{randomNum}}
}
Run Code Online (Sandbox Code Playgroud)

最后,这会在每个请求中的所需值之间生成一个新数字


小智 5

只需使用模运算:

const num = pm.variables.replaceIn('{{$randomInt}}') % 5 + 1;
pm.environment.set("random_number", num);

// test
console.log(pm.variables.get('random_number'));
Run Code Online (Sandbox Code Playgroud)