动态预请求脚本Postman

eoigrqb6  于 2022-11-23  发布在  Postman
关注(0)|答案(1)|浏览(159)

我有这个预请求脚本,并使用runner每秒发送批量请求

const moment = require('moment');
     postman.setEnvironmentVariable("requestid", moment().format("0223YYYYMMDDHHmmss000000"));

我需要“requestid”每次都是唯一的。
第一个请求:“022320221115102036000001”
第二个请求:“022320221115102037000002”
第三项要求:“022320221115102038000003 ......
以此类推,直到达到1000个请求。
基本上,我需要使最后6位数字动态。

w8biq8rn

w8biq8rn1#

您的答案可以在this postman request I've created上找到。有很多方法可以实现这一点,鉴于提供的信息很少,我默认为:

  • 设置基线前缀(在最后6个数字之前)
  • 为最后6个数字给予起始号码
  • 如果“没有”以前存储的变量用上述值初始化
  • 如果存储了先前的变量,则将其递增1。
  • 变量date是最终结果,current只是增量

您可以在此处看到顺序请求:

下面是代码,但我将直接在上面提供的请求上测试它:

// The initial 6 number to start with
// A number starting with 9xxxxxx will be easier for String/Number converstions
const BASELINE = '900000'
const PREFIX = '022320221115102036'

// The previous used value if any
let current = pm.collectionVariables.get('current')

// If there's a previous number increment that, otherwise use the baseline
if (isNaN(current)) {
    current = BASELINE 
} else {
    current = Number(current) + 1
}

const date = PREFIX + current

// Final number you want to use
pm.collectionVariables.set('current', current)
pm.collectionVariables.set('date', PREFIX + date)
console.log(current)
console.log(date)

相关问题