当线程在循环中运行时,JSR223 预处理器生成相同的值
JSR223 Preprocessor generating the same value when the thread runs in loop
上下文:希望在线程 运行 循环时生成唯一且不同的值。
目前它正在生成相同的值。
JSR223 预处理器内部脚本,
String subscribeSchemaNamePreProcesser="agent-Perf-${__Random(1,99999,)}"
log.info("Schema Name --------------->"+subscribeSchemaNamePreProcesser)
vars.put("subscribeSchemaNamePreProcesser", subscribeSchemaNamePreProcesser)
当运行线程数大于1时(即2个线程1个循环),它会产生不同的值
当运行 循环数超过 1(即 1 个线程 2 个循环)时,它生成相同的值(想要修复它)
我错过的任何东西
不要将 JMeter Functions or Variables 内联到 Groovy 脚本中,它们将被缓存并且只有第一次出现的才会用于后续调用。
您需要更改此行:
String subscribeSchemaNamePreProcesser="agent-Perf-${__Random(1,99999,)}"
给这个:
String subscribeSchemaNamePreProcesser = "agent-Perf-" + org.apache.commons.lang3.RandomUtils.nextInt(1, 99999)
更多信息:
上下文:希望在线程 运行 循环时生成唯一且不同的值。 目前它正在生成相同的值。
JSR223 预处理器内部脚本,
String subscribeSchemaNamePreProcesser="agent-Perf-${__Random(1,99999,)}"
log.info("Schema Name --------------->"+subscribeSchemaNamePreProcesser)
vars.put("subscribeSchemaNamePreProcesser", subscribeSchemaNamePreProcesser)
当运行线程数大于1时(即2个线程1个循环),它会产生不同的值
当运行 循环数超过 1(即 1 个线程 2 个循环)时,它生成相同的值(想要修复它)
我错过的任何东西
不要将 JMeter Functions or Variables 内联到 Groovy 脚本中,它们将被缓存并且只有第一次出现的才会用于后续调用。
您需要更改此行:
String subscribeSchemaNamePreProcesser="agent-Perf-${__Random(1,99999,)}"
给这个:
String subscribeSchemaNamePreProcesser = "agent-Perf-" + org.apache.commons.lang3.RandomUtils.nextInt(1, 99999)
更多信息: