jmeter中每个线程和循环的2个字段的增量时间值
Increment time value for 2 fields for every Thread and loop in jmeter
我必须安排一次会议,特别是 post 我必须不时提供的请求正文数据。每次从和到时间都不同,时间不应重叠。
为了这个要求,我使用 JSR223 Sampler
尝试了下面的代码,但我在这里面临的问题是,对于每个线程和循环,只有一次递增。值是相同的,但不是递增。每个线程的时间值都应该递增。请让我知道我是如何实现它的,因为下面的代码为每个 Thread
返回相同的值
def now = new Date()
log.info('Before: ' + now.format('HH:mm'))
use(groovy.time.TimeCategory) {
def nowPlus60Mins = now + 60.minutes
def nowPlus15Mins = nowPlus60Mins + 15.minutes
log.info('After: ' + nowPlus60Mins.format('HH:mm'))
log.info('End: ' + nowPlus15Mins.format('HH:mm'))
vars.put("AfterTime",nowPlus60Mins.format('HH:mm'));
vars.put("EndTime",nowPlus15Mins.format('HH:mm'));
如果您想影响所有线程,您必须使用 JMeter 属性,在脚本中表示为 props
:
props.put("AfterTime",nowPlus60Mins.format('HH:mm'));
props.put("EndTime",nowPlus15Mins.format('HH:mm'));
使用 __P 函数作为 ${__P(AfterTime,)}
在 JSR223 采样器外部获取 属性 值
在 JSR223 中得到 属性 和 props.get("EndTime")
如果您在 1 分钟内 运行 进行了超过 1 次迭代 - 绝对期望您将获得相同的生成偏移量,因为给定您的 SimpleDateFormat 设置值将每分钟更新一次。
此外,您不需要任何脚本,您可以直接在请求正文中使用 __timeShift() function 实现相同的目的:
- 加上 60 分钟:
${__timeShift(HH:mm,,PT60M,,)}
- 加 15 分钟:
${__timeShift(HH:mm,,PT15M,,)}
我必须安排一次会议,特别是 post 我必须不时提供的请求正文数据。每次从和到时间都不同,时间不应重叠。
为了这个要求,我使用 JSR223 Sampler
尝试了下面的代码,但我在这里面临的问题是,对于每个线程和循环,只有一次递增。值是相同的,但不是递增。每个线程的时间值都应该递增。请让我知道我是如何实现它的,因为下面的代码为每个 Thread
def now = new Date()
log.info('Before: ' + now.format('HH:mm'))
use(groovy.time.TimeCategory) {
def nowPlus60Mins = now + 60.minutes
def nowPlus15Mins = nowPlus60Mins + 15.minutes
log.info('After: ' + nowPlus60Mins.format('HH:mm'))
log.info('End: ' + nowPlus15Mins.format('HH:mm'))
vars.put("AfterTime",nowPlus60Mins.format('HH:mm'));
vars.put("EndTime",nowPlus15Mins.format('HH:mm'));
如果您想影响所有线程,您必须使用 JMeter 属性,在脚本中表示为 props
:
props.put("AfterTime",nowPlus60Mins.format('HH:mm'));
props.put("EndTime",nowPlus15Mins.format('HH:mm'));
使用 __P 函数作为 ${__P(AfterTime,)}
在 JSR223 中得到 属性 和 props.get("EndTime")
如果您在 1 分钟内 运行 进行了超过 1 次迭代 - 绝对期望您将获得相同的生成偏移量,因为给定您的 SimpleDateFormat 设置值将每分钟更新一次。
此外,您不需要任何脚本,您可以直接在请求正文中使用 __timeShift() function 实现相同的目的:
- 加上 60 分钟:
${__timeShift(HH:mm,,PT60M,,)}
- 加 15 分钟:
${__timeShift(HH:mm,,PT15M,,)}