在JMETER中将响应中的变量传递给请求

时间:2016-01-14 13:15:11

标签: jmeter

需要将响应中的数据传递给后续请求。出现问题,默认变量值出现在请求中。

第一个请求返回响应正文中的JSON,如下所示:

{"issued_at":"2016-01-14T12:41:01.000Z","expires":"2016-01-14T12:46:01.000Z","id":"j6M ... MTA=="}
enter image description here

我使用正则表达式提取器提取id属性的值:

enter image description here

然后我将token变量传递给后续的请求参数:

enter image description here

但是请求是使用变量的默认值创建的:
enter image description here

4 个答案:

答案 0 :(得分:4)

有一个JSON Path Extractor旨在处理JSON内容类型,我相信它会更容易使用它。

相关的JSON Path查询将像select case when substr(:SSN, 3,1) = '-' then 'XX-XXX'||substr(:SSN, 7,4) else 'XXX-XX-'||substr(:SSN, 8,4) end INTO :MaskedSSN from dual

一样简单

请参阅Using the XPath Extractor in JMeter(向下滚动到“解析JSON”)以获取有关插件安装和使用的全面信息,以及JSONPath - XPath for JSON用于JSONPath语言参考和示例。

关于正则表达式提取器配置:

  • 从匹配编号
  • 中删除$..id
  • 提供1作为模板

答案 1 :(得分:2)

如果查看Regular Expression Extractor documentation,则需要字段模板。我建议你使用价值1美元,然后再试一次。

答案 2 :(得分:2)

通过在“正则表达式提取器”对话框中将“要检查的字段”单选按钮设置为“正文”,并将“模板”字段值设置为$ 1 $,解决了该问题。 感谢alphamikevictorDmitri T寻求帮助!

答案 3 :(得分:0)

您应该使用${token_g1}来获取正则表达式匹配的第一组的值(您要查找的值)。