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 因此使用正则表达式不是从响应中提取令牌的最佳选择
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 因此使用正则表达式不是从响应中提取令牌的最佳选择