JMeter响应断言匹配Bolt Cypher查询响应失败求助
解决JMeter响应断言匹配Bolt查询记录数失败的问题
你遇到的问题是直接用响应断言匹配Bolt请求的完整返回结构导致的——[[[OK ]]]是请求执行成功的状态标识,而实际的统计结果藏在返回数据的深层结构里,不能直接拿整个响应内容和预期的Record字符串匹配。
按以下步骤调整即可实现正确断言:
先提取统计数值
在Bolt请求下添加「JSON提取器」(右键请求 → 后置处理器 → JSON提取器),配置:- 引用名称:
customer_count - JSON Path表达式:
$.records[0].values[0](如果你的查询结果是单条统计值,这个路径直接指向count的数值) - 匹配数字:1
- 默认值:-1
- 引用名称:
用变量做精确断言
添加「响应断言」,修改配置:- 勾选「JMeter变量」,输入变量名
${customer_count} - 勾选「相等」,输入预期的统计值
6361 - 这样就能直接验证查询返回的记录数量,不会再被状态信息干扰。
- 勾选「JMeter变量」,输入变量名
备选:正则提取方案
如果JSON提取器适配有问题,换用「正则表达式提取器」:- 引用名称:
customer_count - 正则表达式:
count\(c\.CustomerID\): (\d+) - 模板:
$1$ - 匹配数字:1
之后同样用响应断言验证${customer_count}等于6361即可。
- 引用名称:
内容的提问来源于stack exchange,提问作者Vishal Mishra
相关产品推荐
相关产品推荐

