在Postman中生成随机字符串

bt1cpqcv  于 2022-11-07  发布在  Postman
关注(0)|答案(3)|浏览(938)

我是新的 Postman ,我试图生成一个随机字符串与字母(A-Z)和数字(0-9)。字符串应该有20点。我不知道如何设置身体和先决条件。我知道,请求必须是后。我不知道如何开始。

jogvjijk

jogvjijk1#

您可以将脚本添加到Pre-request Script以创建此值。
此函数将根据dataset中的字符创建随机值,其长度为20个字符-可以在使用所需的最小值和最大值调用此函数时调整长度。

function randomString(minValue, maxValue, dataSet = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ') {
    if (!minValue) {
        minValue = 20;
        maxValue = 20;
    }

    if (!maxValue) {
        maxValue = minValue;
    }

    let length = _.random(minValue, maxValue),
        randomString = "";

    for (let i = 0; i < length; i++)
        randomString += dataSet.charAt(Math.floor(Math.random() * dataSet.length));
    return randomString;
}

pm.variables.set('randomString', randomString());

添加这样一个基本主体就是如何使用随机生成的值:

{
    "randomValue": "{{randomString}}"
}

发送请求时,它将执行Pre-request Scripts选项卡中的函数,并将值设置为本地变量,然后将在请求的主体中使用该值:

xxslljrj

xxslljrj2#

根据postman's docs,您应该能够使用{{$randomAlphaNumeric}}生成一个字符。$randomPassword似乎只生成15个随机字母数字字符,因此类似于:

{{$randomPassword}}{{$randomAlphaNumeric}}{{$randomAlphaNumeric}}{{$randomAlphaNumeric}}{{$randomAlphaNumeric}}{{$randomAlphaNumeric}}

应该给予你20个随机字符,而不需要写太多代码。这有点简洁,你也可以只使用$randomAlphaNumberic选择器20次。

nwsw7zdq

nwsw7zdq3#

请求中Pre-request Script选项卡的代码:

function randomString(length=1) {
    let randomString = "";
    for (let i = 0; i < length; i++){
        randomString += pm.variables.replaceIn("{{$randomAlphaNumeric}}");
    }
    return randomString;
}

STRING_LEN = 1000
pm.variables.set('randomString', randomString(STRING_LEN));

只需将STRING_LEN设置为所需值。
通过使用表达式{{randomString}}(即URL中的表达式)对其进行测试:

https://httpbin.org/anything?string={{randomString}}

结果:

相关问题