2017-08-16 252 views
1

我在响应消息中有多个字符串grp和name。我想根据唯一的名称来提取GRP, “GRP”: “名”(+?): “UNIQUE_STRING”jmeter正则表达式提取器从多个字符串中提取字符串

正则表达式提取 参考名称:GROUP_NAME定期

表达:“ GRP “:(?+),” 名 “:” UNIQUE_STRING”模板:$ 1 $匹配 NO:1

我想提取基于独特的名称前值,但没能找到.. 请帮忙

+1

你能举实例回应讯息? – user7294900

+0

“grp”:11111,“name”:“test_constant1”,“target”:{“abc”,“id”:1,“id”:1,“adminUser”:{“id”:2} “:{”text“:”test“,”name“:”TEST“},”targetSystemSource“:null}}}],”grp“:22222,”name“:”test_constant2“ Here based on second name test_constant2我想找到对应的grp,它是22222.是否可以从regx post processor? – Nikhil

回答

0

你可以找到字符串,直到第一个逗号:

Regular Expression: grp":([^,]+),"name":"UNIQUE_STRING 

如果要删除 “在GRP值(找到123 GRP”: “123”)的使用:

Regular Expression: grp":"([^,]+)","name":"UNIQUE_STRING 
+0

这里有两个不同的grp。我想找到第二个grp值>> EG:“grp”:11111,“name”:“test_constant1”,“target”:{“abc”,“id”:1,“id”:1,“ ADMINUSER “:{” ID “:2},” 所有者 “:{” 文本 “:” 测试 “ ”姓名“: ”TEST“}, ”targetSystemSource“:空}}}], ”GRP“:22222,”名称“:”test_constant2“, – Nikhil

+0

用常量2替换UNIQUE_STRING – user7294900

0

你的反应是完全想当JSON,如果这是我相信这将是容易使用JSON Extractor(可用自JMeter的3.0)

如果响应数据看起来像这样:

[ 
    { 
    "grp": "foo", 
    "name": "UNIQUE_STRING" 
    }, 
    { 
    "grp": "bar", 
    "name": "ANOTHER_STRING" 
    } 
] 

您应该能够使用简单的Json Path查询像提取该foo值:$..[?(@.name == 'UNIQUE_STRING')].grp

演示:

JMeter JSONPath Conditional Select

的更多信息:JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios

相关问题