如何将prev HTTP Request的值用于jMeter中的下一个HTTP请求?
如何将prev HTTP Request的值用于jMeter中的下一个HTTP请求?,jmeter,Jmeter,我是jMeter的新手,我正在使用它。 我有一个线程组,它由两个循环控制器组成。 在第一个循环控制器中,有一个包含主体数据的HTTP请求 { ..., "var1": "var-${__RandomString(10,1234567890abcdefg)}", ... } 在第二个循环控制器中,还有另一个包含var1的HTTP请求,我想用与第一个循环控制器中的prev var1相同的值来关联这个var1 我曾尝试使用用户定义的变量,但它为其他线程组生成了相同的值,我希望为每个线程组生成不同的v
我是jMeter的新手,我正在使用它。 我有一个线程组,它由两个循环控制器组成。 在第一个循环控制器中,有一个包含主体数据的HTTP请求
{ ..., "var1": "var-${__RandomString(10,1234567890abcdefg)}", ... }
在第二个循环控制器中,还有另一个包含var1的HTTP请求,我想用与第一个循环控制器中的prev var1相同的值来关联这个var1
我曾尝试使用用户定义的变量,但它为其他线程组生成了相同的值,我希望为每个线程组生成不同的var1值
有人能帮我吗?我该怎么做才能让它工作?谢谢:)将后处理器-->正则表达式提取器添加到Http请求中,您希望获取名为var1
的变量
如上图所示,使用“var1”:“(.+?)”,
作为正则表达式。(.+?)
部分定义了嘿!正则表达式提取器,请为我提取“var1”:“
和,
”之间的任何内容,您可以在响应内容中找到这些内容。因此,var-${uuuu RandomString(101234567890abcdefg)}
将被提取到名为Var1
的变量中(因为您将Var1
定义为引用名称)
然后,在要访问该变量的Http请求中,使用${Var1}
发送Var1
变量的值作为请求参数
请注意,循环中的最后一个值将保存在Var1
中。如果要保存第一个循环中的所有值以使用第二个循环中的值,有很多方法可以做到这一点
您可以将计数器从配置元素添加到第一个循环控制器,并定义例如loopCounter
作为其参考名称。使用0
和1
填充开始和增量字段
然后将正则表达式更改为Var${loopCounter}
在下一个循环的Http请求中,您可以使用${Var1}
、${Var2}
和…访问这些变量,只需将函数更改为:
${__RandomString(10,1234567890abcdefg,var1)}
它将用随机生成的值覆盖${var1}
,因此您将在两个循环控制器中获得相同的随机字符串
有关上述函数和其他函数的更多信息,请参阅文章系列。Hi@BzH,谢谢您的回答,我尝试了您的建议,但没有效果,我检查了第二个循环控制器中var1的值是参数${var1}@FergaDipa,这是因为您定义了
${var1}
(大写字母V
)在正则表达式中,并在Http请求中引用${var1}
(小写字母为v
)