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

Posted

技术标签:

【中文标题】邮递员 - 如何生成特定范围内的随机数?【英文标题】:postman - how to generate random number in specific range? 【发布时间】:2018-07-22 20:38:42 【问题描述】:

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

$randomint 

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

$randomint(1,5)

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

【问题讨论】:

只需使用内置功能和一点数学知识。舍入、除法、乘法 也试过 $randomint(math.random()*3 这两种解决方案都回答了您的问题吗? 不,它们都不起作用 你还需要这个答案吗? 【参考方案1】:

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

例子:

pm.collectionVariables.set ("randomNum", _.random (20,100));

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


    "number": randomNum

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

【讨论】:

谢谢。但是,就我而言,此变量不会显示在 Postman 自动生成的文档上。在我的 json 中没有显示变量,如下所示:"age": ,。有什么解决办法吗?这对于预请求变量是否正常? 抱歉,刚刚想通了。所以,我只需要转到 Collection,单击“编辑”,转到“变量”选项卡,然后定义“初始值”。当我在“预请求脚本”选项卡中创建新变量时,它将在集合中创建一个新变量没有任何默认值。谢谢。【参考方案2】:

只需使用模运算:

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

// test
console.log(pm.variables.get('random_number'));

【讨论】:

【参考方案3】:

这对我有用:

在您的预请求脚本中定义您的变量:

pm.globals.set('randomNumber', Math.floor(Math.random() * 5));

然后在你的 URL 中调用你的变量,如下所示:

randomNumber

希望这对你有用。

【讨论】:

这输出 0-4 而不是 1-5!【参考方案4】:

您可以只使用Lodash,因为它是内置的module:

pm.environment.set("random_number", _.random(1, 5))

或者只是将数字 5 添加到 _.random() 函数中,这将是一个从 0 到 5 的数字。

【讨论】:

有没有办法让随机变量随每次使用而变化,而不仅仅是每次请求?在请求正文中,random_number 的每次使用都是相同的。 @Adrian 是的,我在回答中详细说明了

以上是关于邮递员 - 如何生成特定范围内的随机数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中生成特定范围内的随机整数?

如何在 Java 中生成特定范围内的随机整数?

如何在电话号码格式的范围内生成随机数 Postman [关闭]

js如何生成指定范围内的随机数

给定'getrand100()'函数获取特定范围内的随机数

Java如何生成一定范围内的随机数? [复制]