我很难在Jmeter中使用“ Regex Expression Extractor”来实现以下目的:
响应标题类似于:
Set-Cookie: Token=dfrtydgsdttetert; Domain=.domain.ca; Path=/;
Expires=Fri, 19 Oct 2018 18:54:18 GMT; Secure
ETag: W/"41c-gdf+/mzdw"
在JMeter正则表达式提取器中:
Apply to: main sample and sub-samples
Field to check "Response Header"
Name of create Variable: extracted_token
Regular Expression: (?<=Token=)(.*)(?=; Domain) <- the goal is
the get the string "dfrtydgsdttetert"
Template: $1$
Match No: 1
Default Value: ERROR
我尝试了上述配置,而extract_token变量始终为“ ERROR”
如果我将正则表达式更改为Token = 然后我得到:
extracted_id_token=null
extracted_id_token_g=0
extracted_id_token_g0=Token=
请指导我如何修复配置,以便我可以在响应标题中检索“ dfrtydgsdttetert”。
答案 0 :(得分:1)
答案 1 :(得分:0)
您要提取的“响应标头”基本上是HTTP Cookie,JMeter通过HTTP Cookie Manager自动处理cookie,因此您可以将其添加到测试计划中,这样会更加方便而不是从Set-Cookie标头中手动提取值并将其添加到Cookie标头中。
如果您出于其他原因需要cookie值,则可以从HTTP Cookie管理器本身获取它
将下一行添加到 user.properties 文件(位于JMeter安装的“ bin”文件夹中)
CookieManager.save.cookies=true
Token
cookie值引用为${COOKIE_Token}
,而无需从标题中提取它。