如何在JMeter中的其他变量中使用正则表达式/ JSON路径提取变量?

时间:2018-02-08 08:24:50

标签: jmeter jmeter-plugins

我尝试使用先前通过正则表达式提取器设置的变量。或者JSON Path Extractor'在用户定义的变量' JMeter中的节点。

我不能为我的生活弄清楚它为什么不起作用。

这是我的提取器......

enter image description here

这是我的用户定义变量节点,试图使用提取器中的变量....

enter image description here

我认为它不重要,因为变量范围显然处于线程级别,但我已经在正则表达式提取器之后和未来的不同请求中尝试了这个节点。

当我附加调试后处理器时,这些是返回的结果......

signin=a5360708f46ddea1c8491889bb4433d7
signin1=${signin}
signin2=${__V(${signin})}
signin3=${__eval(${signin})}
signin4=${__evalVar(signin)}
显然已经通过字符串值正确地设置了

${signin},但是我的替换尝试都没有奏效。

我在这里做错了什么?

谢谢,

2 个答案:

答案 0 :(得分:1)

这是因为在填写变量后未更新用户定义的变量。

因此,您需要使用User Parameters作为包含Regex后处理器的采样器之后的第一个采样器的子项。

答案 1 :(得分:1)

添加到@UBIK LOAD PACK回答,

User Defined Variables在执行采样器之前在测试开始时设置变量,因此在分配signin变量之前。

  

请注意,测试计划中的所有UDV元素 - 无论它们在何处 - 都会在开始时进行处理。

您应该在User Parameters中添加变量分配,这将是您指定的采样器signin之后的采样器的子项,

Noice,如果您之后没有采样器,则可以添加Test Action(暂停0毫秒)或Debug Sampler,这不会影响您的测试并使您能够使用signid更新值设置变量。