通过Jmeter获取和设置访问令牌

问题描述 投票:0回答:3

我是 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

请检查一下正则表达式好吗?

提前致谢。

jmeter
3个回答
1
投票

使用 JSON Extractor 作为采样器的子级,通过以下 JSON 路径表达式返回响应:

$.Data.access_token

enter image description here

enter image description here


0
投票

如果您确实需要使用正则表达式提取器,您需要将正则表达式修改为如下所示:

"access_token":\s+"(\w+)"

地点:

  • (\w+)
    匹配任意数量的字母数字字符
  • \s+
    匹配可选的空白字符

演示:

enter image description here

更多信息:


然而,对于 JSON 响应,使用 JSON Extractor 是有意义的,它允许执行任意 JsonPath 查询以从 JSON 响应中获取“有趣的”数据,相关的 JsonPath 表达式将是:

$..access_token

地点:

enter image description here

更多信息:使用 JMeter 和 JSON 提取器进行 API 测试


0
投票
{"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}]
}
© www.soinside.com 2019 - 2024. All rights reserved.