在JMeter中统计JSON响应子记录数并与数据库校验
实现API返回记录数与数据库记录数的校验步骤
1. 提取API返回的data数组记录数
在HTTP请求后添加JSON Extractor,配置参数如下:
- 引用名称:
api_record_count - JSON Path表达式:
$.data.length() - 匹配数字:
1 - 默认值:
-1
配置完成后,API返回的data数组记录数会存入变量 ${api_record_count}。
2. 查询数据库获取对应记录数
- 添加JDBC Request元件,配置好数据库连接信息后,编写查询语句:
SELECT COUNT(*) AS db_count FROM 目标表 WHERE 筛选条件;
- 接着添加JDBC Result Set Extractor,配置:
- 引用名称:
db_record_count - 变量名:
db_count - 匹配数字:
1
数据库查询得到的记录数会存入变量 ${db_record_count}。
3. 校验两个数值一致性
方式一:使用Response Assertion
- 应用范围:选择需要校验的取样器
- 响应字段:选择
JMeter Variable - 要测试的变量名称:
api_record_count - 模式匹配规则:选择
Equals - 要测试的模式:
${db_record_count}
方式二:使用JSR223 Assertion(更灵活)
写入Groovy校验代码:
def apiCount = vars.get("api_record_count") as int def dbCount = vars.get("db_record_count") as int if (apiCount != dbCount) { AssertionResult.setFailure(true) AssertionResult.setFailureMessage("API记录数${apiCount}与数据库记录数${dbCount}不一致") }
内容的提问来源于stack exchange,提问作者Madhu Manohar
相关产品推荐
相关产品推荐

