在所有线程中使用相同的随机变量

Use same random variable in all threads

我有测试计划:

线程组(用户 3,循环 2) 随机变量 HTTP 请求

我希望每个循环只更改变量,因此在每次迭代中所有三个线程都应发送相同的值。

所以我想要这样的东西:

request where random var = X

request where random var = X

request where random var = X

request where random var = Y

request where random var = Y

request where random var = Y

我尝试了很多解决方法,但找不到合适的解决方案。

P.S。我不想从文件中读取变量。我需要生成它们

无论您“想要”什么,最好的选择是在“主”线程组的 setUp Thread Group and writing it to the file and then using CSV Data Set Config 某处预先生成随机值以读取值。

但是,如果这仍然不是您“想要”的东西,这里还有另一种“解决方法”,希望它对您来说足够“合适”:

  1. 添加 JSR223 PreProcessor 作为您“想要”使用随机变量参数化的请求的子项

  2. 将以下代码放入“脚本”区域:

    if (props.get('foo_' + vars.getIteration()) != null {
        props.put('foo_' + vars.getIteration(), org.apache.commons.lang3.RandomUtils.nextInt(0, 100))
    }
    
  3. 在需要时使用以下 __groovy() function 引用“生成的”随机值:

    ${__groovy(props.get('foo_' + vars.getIteration()),)}
    

演示: