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

时间:2018-02-12 15:58:09

标签: random postman

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

{{$randomint }}

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

{{$randomint(1,5)}}

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

4 个答案:

答案 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'));