如何使用来自服务器的JSON响应来发送带有JSON(jmeter)参数的POST请求

时间:2014-04-23 13:46:28

标签: json jmeter

我有一些使用jmeter从API检索访问令牌的特定方案。 我需要实现以下测试用例,并且不知道如何实现它(我是jmeter的新手):

  1. 向服务器发送GET请求。
  2. 服务器将返回以下响应:{"RequestToken":"81d1fcd6146d41f69a966a2c083382c7","Expires":3600}
  3. 之后,我需要将POST请求发送到步骤#2中参数为“RequestToken”的服务器。
  4. 谢谢!

    Dmitri T的回答真的帮助了我!非常感谢!

1 个答案:

答案 0 :(得分:3)

如果您的回复{"RequestToken":"81d1fcd6146d41f69a966a2c083382c7","Expires":3600}是完整回复,则可以将Regular Expression Extractor后处理器添加到GET请求中,配置如下:

  • 参考名称:任何有意义的内容,即token
  • 正则表达式:{"RequestToken":"(.+?)","Expires":3600}
  • 模板:$1$

之后,您可以在POST请求中将提取的值称为${token}${__V(token)}

如果您需要处理更复杂的JSON结构,我建议您使用JMeter插件提供的JSON Path Extractor。它允许以更“智能”的方式从JSON响应中获取数据,因为大型JSON实体无法通过正则表达式轻松解析。

在这种情况下,相关的JSON Path查询看起来像$.RequestToken

有关详细信息,请参阅Using the XPath Extractor in JMeter指南(向下滚动至Parsing JSON)。

希望这会有所帮助。