如何编写正则表达式从json响应中提取值并将其传递给jmeter中的下一个测试

时间:2015-12-04 17:08:44

标签: json regex jmeter

我使用Jmeter 2.13版本编写一些API测试。 我先运行登录测试。我想从" sessionToken"中增加一个值。来自登录测试的json响应并将其传递给我的下一个测试。

以下是我的json的样子:

{
 "values": [
  {
   "lastModifiedTimestamp": "1447435096377",
   "lastModifiedUserId": "1",
   "name": "blah blah",
   "group": "newgroup",
   "systemUserId": "5194842789380096",
   "givenName": "test",
   "familyName": "testnew",
   "sessionToken": "8d49aec3-1f09-48eb-a946-543a6f2d9950",
 }

这是我在我的"正则表达式提取器中使用的正则表达式" $ .values.sessionToken

但是,它永远不会奏效。请有人帮帮我吗?

2 个答案:

答案 0 :(得分:1)

使用以下正则表达式提取器配置:

  • 参考名称:任何变量名称,即sessionToken
  • 正则表达式:"sessionToken": "(.+?)"
  • 模板:$1$

    Regular Expression Extractor

在必要时将提取的值称为${sessionToken}

参考资料:

答案 1 :(得分:0)

由于响应是JSON,您可以使用 JSON路径提取器检查此链接 -

http://jmeter-plugins.org/wiki/JSONPathExtractor/

您需要在json路径中使用$.values[0].sessionToken

您还可以将正则表达式提取器与此表达式"sessionToken": "(.*?)"一起使用。唯一的优点是它比JSON路径提取器更快。