JMeter使用JMESPath提取器实现包含/部分文本过滤咨询
JMESPath模糊匹配提取方案
对应需求的表达式
根据你需要的匹配规则选择对应表达式即可:
- 前缀匹配(提取所有name以Test开头的条目的agentMap):
[?starts_with(name, 'Test')].agentMap - 包含匹配(提取所有name任意位置含Test的条目的agentMap):
[?contains(name, 'Test')].agentMap
JMeter配置步骤
- 打开目标HTTP取样器下的JMESPath提取器
- 将选好的表达式填入「JMESPath表达式」输入栏
- 按需求设置「匹配数字」:
- 填
-1:提取全部符合条件的结果 - 填
0:随机取1个符合条件的结果 - 填正整数N:取第N个符合条件的结果
- 填
- 若设置匹配数字为
-1,后续可通过${自定义变量名_N}的格式引用第N个匹配结果,${自定义变量名_matchNr}可获取总匹配条数
验证返回示例
使用前缀匹配表达式,针对你提供的响应返回结果如下:
[ { "25b08b79-d2e6-3313-bf39-8d1a8bf318d5": "DATABASE", "9af282a5-1d13-3050-8912-ab29275f215d": "BUSHIDO APPLIANCE", "4013a43f-0ea2-3df0-8fc3-9e562a7f82c7": "APACHE TOMCAT", "a51df66c-7b0d-30b8-85db-03605246aecf": "AD SERVER" }, { "25b08b79-d2e6-3313-bf39-8d1a8bf318d5": "DATABASE2", "9af282a5-1d13-3050-8912-ab29275f215d": "Testing APPLIANCE", "4013a43f-0ea2-3df0-8fc3-9e562a7f82c7": "APACHE TOMCAT", "a51df66c-7b0d-30b8-85db-03605246aecf": "AD UAT" } ]
内容的提问来源于stack exchange,提问作者Ralph
相关产品推荐
相关产品推荐

