JMeter 5.5 JSON断言类型校验问题:字符串与整数不匹配
解决JMeter 5.5 JSON断言类型校验导致的批量失效问题
问题背景
JMeter 5.5对JSON断言新增了严格类型校验,字符串类型的数值(如"8")和数字类型的断言值(如8)会被判定不相等,导致原5.4.1版本正常的断言全部失效,报错:
Assertion failure message:Value expected to be '8', but found '8'
批量解决方案
不需要逐个修改断言值,通过以下两种方式可恢复旧版本的宽松匹配逻辑:
1. 启动JMeter时添加系统参数
在启动JMeter的命令中加入-Djmeter.json.assertion.strict=false,禁用严格类型校验:
jmeter -Djmeter.json.assertion.strict=false
Windows系统使用bat脚本启动时,同样添加该参数即可。
2. 修改JMeter配置文件(永久生效)
找到JMeter安装目录下的bin/jmeter.properties文件,定位到jmeter.json.assertion.strict配置项,将其值改为false:
# 是否启用JSON断言的严格类型校验 jmeter.json.assertion.strict=false
修改后保存文件,重启JMeter即可生效。
以上两种方式都会让JSON断言忽略类型差异,仅比较值的字面内容,和JMeter 5.4.1的行为保持一致,无需修改大量测试用例。
内容的提问来源于stack exchange,提问作者Ivan Chacon
相关产品推荐
相关产品推荐

