在JMETER中将变量从响应传递到标头

时间:2018-03-16 10:27:57

标签: jmeter

首先请求响应正文中的JSON,如下所示:

{"data":{"userId":"USR-0000000000000001","accessToken":"TKN-05TS53MFRVK2QYH2HMLD3J25WMH8IH6E767W","refreshToken":"RTK-88TLRIYE4YVJMWH2H4G0UQK83DVCWODFLX4X","expiresIn":"2018-03-16 20:14:00","tokenType":"bearer"}

我提取" accessToken"的值。属性使用 "正则表达式提取器": regular expression

然后我通过"授权"变量到标题,这一步我需要putstoken来获取有关我的个人资料的信息: enter image description here

然后在结果树上向我显示此响应 enter image description here

并显示回复

"{"error":{"errorCode":1001,"errorMessage":"Authentication failed"}}"

我想要的是下一个请求可以成功读取accesstoken。如果这有什么问题可以帮助吗?

谢谢

3 个答案:

答案 0 :(得分:0)

Json Exractor也用于提取json共振值。下面的图片有助于从json中提取值。将其存储在变量中并将其用于标头请求。

JsonExtractor Control

StoredVariable Used Http Header Request

答案 1 :(得分:0)

您应该在Regulat表达式提取器中输入已创建变量的名称。将正则表达式从Authorization替换为accessToken,因为它是您正在使用的变量的名称

答案 2 :(得分:0)

  1. 您需要将标头值更改为Bearer ${Authorization},根据RFC 6750,它应以Bearer开头,标头值可能区分大小写
  2. 当涉及JSON Extractor数据正则表达式时,使用JSON代替正则表达式提取器更有意义。您应该能够使用简单的JSON Path查询提取标记值,如:

    JMeter JSON Extractor

    更多信息:API Testing With JMeter and the JSON Extractor