如何在 JMeter 的其他变量中使用常规 expression/JSON 路径提取的变量?

How do I use regular expression/JSON path extracted variables within other variables in JMeter?

我正在尝试使用之前在 JMeter 的 'User Defined Variables' 节点中通过 'Regular Expression Extractor' 或 'JSON Path Extractor' 设置的变量。

我一辈子都弄不明白为什么它不起作用。

这是我的提取器....

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

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

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

signin=a5360708f46ddea1c8491889bb4433d7
signin1=${signin}
signin2=${__V(${signin})}
signin3=${__eval(${signin})}
signin4=${__evalVar(signin)}

${signin} 显然已正确设置,字符串值证明了这一点,但是 none 我的替换尝试已经奏效。

我做错了什么?

谢谢,

这是因为User Defined Variables填入变量后没有更新

所以你需要使用一个 User Parameters ,你将把它作为第一个采样器的子级放在包含正则表达式 Post 处理器的采样器之后。

添加到@UBIK LOAD PACK 答案,

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

Note that all the UDV elements in a test plan - no matter where they are - are processed at the start.

您应该在 User Parameters 中添加变量赋值,这将是您分配 signin

采样器之后的采样器的子级

请注意,如果您之后没有采样器,您可以添加Test Action (with pause 0 ms ) or Debug Sampler,这不会影响您的测试,并使您能够使用[=12设置变量=]更新值。