我是 JMeter 的新手。我正在尝试通过“正则表达式提取器”动态设置访问令牌。 基本上,我尝试首先登录,然后从它的响应中,我尝试获取访问令牌并将其设置在“CreatePost”API 中。
我可以使用 #1 Login API 获取访问令牌,其响应如下。
{ "Message": "登录成功。", “状态”:“成功”, “HTTP状态”:200, “数据”: { "token_type": "承载者", “过期时间”:10000, "access_token": "eyJ0eXAiE", "refresh_token": "2bcf1f455f2", “名称”:“jmeter_test”, } }
您能帮我从上面的回复中获取access_token吗? 为了得到这个,我创建了“正则表达式提取器”并设置
Name of Createdvariable : access_token,
Regular Expression: "access_token": "value"
Template $1$
Match No. 1
请检查一下正则表达式好吗?
提前致谢。
如果您确实需要使用正则表达式提取器,您需要将正则表达式修改为如下所示:
"access_token":\s+"(\w+)"
地点:
(\w+)
匹配任意数量的字母数字字符\s+
匹配可选的空白字符演示:
更多信息:
然而,对于 JSON 响应,使用 JSON Extractor 是有意义的,它允许执行任意 JsonPath 查询以从 JSON 响应中获取“有趣的”数据,相关的 JsonPath 表达式将是:
$..access_token
地点:
..
是“深度扫描”运算符,它将在数据中的任何位置找到搜索词access_token
- 您正在寻找的 JSON 属性{"token"="([\S]+)"}
or
{"token"="([^"]+)"}
//Also, to export results in CSV file from JMeter : use CSV Data Set //config
//Let's say you've to columns in CSV file i.e RefNo, EmpCd1 and use //Delimiter ,
//In body,
{
"RefNo" : "${RefNo}",
"EmpCd1" : [${EmpCd1}]
}