JMeter - RegEx Extractor 似乎是正确的,但请求 header 有 ${token} 而不是值

JMeter - RegEx Extractor seems correct but request header has ${token} instead of value

Set-up

请求 #1

POST https://url/

正则表达式提取器

回复 #1

{
 "Token":"WkQTxNnZRR0nofyJzb-kioALlXgwc7cN9rokXrKzWmtB2BDedUXeQnd94S5KWvaz0",
 "ExpirationUTC":"2121-09-17T14:39:57.504Z",
 "TokenId":"string"
}

请求 #2

GET https://some-other-url

Header 经理

如图:

结果

而不是 Authorization: Bearer WkQTxNnZRR0nofyJzb-kioALlXgwc7cN9rokXrKzWmtB2BDedUXeQnd94S5KWvaz0 我们有 Authorization: Bearer ${token}

调试组件结果 - 开始看起来像一个变量范围问题

... 但:

RegExp 测试器的结果

在这里,我使用了与在 Reg Ex Extractor 中使用的相同的 reg-ex,它找到了所需的字符串。

JSON 提取器尝试

还是说Bearer ${token}

根据 JMeter Documentation Variables are local to a thread 因此您不能在另一个线程组中引用在一个线程组中设置的变量。

您需要使用 __setProperty() function in 1st thread group and load it using __P() function in 2nd thread group or go for Inter-Thread Communication Plugin

将变量转换为 JMeter 属性

另请注意,JSON is not a regular language 因此使用正则表达式不是从响应中提取令牌的最佳选择