邮递员 - 如何生成特定范围内的随机数?
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 是的,我在回答中详细说明了以上是关于邮递员 - 如何生成特定范围内的随机数?的主要内容,如果未能解决你的问题,请参考以下文章