You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JMeter断言API响应包含[]或"transaction"?

JMeter断言配置:满足任一条件即通过

方法1:使用响应断言(Response Assertion)

  • 添加响应断言:右键目标请求 → 添加 → 断言 → 响应断言
  • 在「要测试的响应字段」中勾选「响应文本」
  • 在「模式匹配规则」中选择「OR(任一)」
  • 在「测试模式」中添加两个规则:
    1. 输入 ^\[\]$(正则表达式,精确匹配仅为空方括号的响应)
    2. 输入 transaction(匹配包含该字符串的响应)
  • 勾选「正则表达式」选项(确保第一个规则的精确匹配生效,第二个规则也兼容此模式)

方法2:使用BeanShell断言(灵活度更高)

如果需要自定义失败提示或更复杂逻辑,可选用BeanShell断言:

  • 添加BeanShell断言:右键目标请求 → 添加 → 断言 → BeanShell断言
  • 在脚本框中输入以下代码:
String response = SampleResult.getResponseDataAsString().trim();
if (response.equals("[]") || response.contains("transaction")) {
    SampleResult.setSuccessful(true);
} else {
    SampleResult.setSuccessful(false);
    SampleResult.setResponseMessage("断言失败:响应既不是空方括号,也不包含'transaction'字符串");
}
  • 脚本会自动判断响应是否满足任一条件,满足则标记请求为成功,否则标记失败并给出明确提示

关键注意点

  • 响应断言选「OR」模式时,只要有一个规则匹配就会通过断言
  • 正则表达式 ^\[\]$ 用于排除响应前后有空格或冗余字符的误判情况
  • BeanShell脚本中使用trim()处理响应,避免空格干扰判断逻辑

内容的提问来源于stack exchange,提问作者Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:25:00