我需要为邮递员生成特定范围内的随机数。 我想知道是否有可能生成它并在postman中使用变量,我在postman site看到的是:
{{$randomint }}
将给出1-1000之间的随机数 我已经尝试过这样的事情:
{{$randomint(1,5)}}
获得1-5之间的数字但邮递员没有得到这种选项,那么如何在邮递员中指定随机范围?
答案 0 :(得分:10)
您可以使用Lodash
,因为它是内置模块:
pm.environment.set("random_number", _.random(1, 5))
或者只需将数字5
添加到_.random()
功能,这将是0到5之间的数字。
答案 1 :(得分:5)
有点晚了。 但以上答案都不适合我。 我通过在预请求选项卡中设置一个变量来解决它。
示例:
pm.collectionVariables.set ("randomNum", _.random (20,100));
然后在我的请求正文中使用变量名称(就像任何其他变量一样)
{
"number": {{randomNum}}
}
最后,这会在每个请求中的所需值之间生成一个新数字
答案 2 :(得分:3)
这对我有用:
在您的预请求脚本中,使用以下内容定义您的变量:
For Each frm As Form In My.Application.OpenForms
For Each fi As System.Reflection.FieldInfo In frm.GetType.GetFields(
System.Reflection.BindingFlags.NonPublic Or _
System.Reflection.BindingFlags.Instance Or _
System.Reflection.BindingFlags.DeclaredOnly)
If fi.FieldType Is GetType(ContextMenuStrip) Then
MsgBox(frm.Name & " - " & TryCast(fi.GetValue(frm), ContextMenuStrip).Name)
End If
Next fi
Next frm
然后在你的网址中调用你的变量,如下所示:
postman.setGlobalVariable('ran', Math.floor(Math.random() * 5));
希望这适合你。
答案 3 :(得分:3)
只需使用模运算:
const num = pm.variables.replaceIn('{{$randomInt}}') % 5 + 1;
pm.environment.set("random_number", num);
// test
console.log(pm.variables.get('random_number'));