JMeter如何用JSR223 Assertion根据响应字段标记HTTP请求为失败
JSR223 Assertion 实现接口异常自动标记方案
操作步骤
- 在需要校验的HTTP请求节点下,添加 JSR223 Assertion 组件,Language项选择
groovy(JMeter官方推荐的最优性能脚本语言) - 把以下代码粘贴到Script输入框中:
import groovy.json.JsonSlurper // 校验响应非空 if (prev.getResponseDataAsString().isEmpty()) { AssertionResult.setFailure(true) AssertionResult.setFailureMessage("响应为空,无返回内容") return } try { // 解析响应JSON def jsonSlurper = new JsonSlurper() def responseJson = jsonSlurper.parse(prev.getResponseData()) // 校验业务错误标记 if (responseJson.hasError == true) { AssertionResult.setFailure(true) // 同步返回接口错误信息,方便排查 AssertionResult.setFailureMessage("接口返回业务错误,错误码:${responseJson.errorCode},错误信息:${responseJson.errorMessage}") } // 后续新增其他校验规则可直接在当前代码块内添加 } catch (Exception e) { // 非合法JSON格式也标记为失败 AssertionResult.setFailure(true) AssertionResult.setFailureMessage("响应解析失败,非合法JSON格式,异常信息:${e.getMessage()}") }
效果说明
- 当响应JSON中存在
"hasError": true时,请求会被标记为失败,在View Results Tree中显示为红色 - 错误信息会直接展示业务返回的错误码和描述,无需额外点开响应体排查
- 结构支持灵活扩展,后续新增其他校验规则无需更换组件
内容的提问来源于stack exchange,提问作者vlatko606
相关产品推荐
相关产品推荐

