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

JMeter:如何根据条件在请求体中传递字符串

可以通过预处理器实现此需求

最适合的方案是使用JSR223预处理器,借助Groovy脚本灵活处理变量的非空判断,生成符合要求的数组。具体步骤如下:

    1. 将JSR223预处理器添加到目标请求的子节点下,选择Groovy作为脚本语言
    1. 编写脚本实现非空变量筛选与JSON数组生成:
// 初始化空列表用于存储有效ID
def validContentIds = []

// 逐个检查变量,非空则加入列表
def trendingId = vars.get("identifier_trending_INDIVIDUAL")
if (trendingId != null && !trendingId.trim().isEmpty()) {
    validContentIds.add(trendingId)
}

def fetchId = vars.get("identifier_fetch_INDIVIDUAL")
if (fetchId != null && !fetchId.trim().isEmpty()) {
    validContentIds.add(fetchId)
}

def interestId = vars.get("identifier_interestBased_INDIVIDUAL")
if (interestId != null && !interestId.trim().isEmpty()) {
    validContentIds.add(interestId)
}

// 将列表转为JSON格式,存入新变量
vars.put("filtered_content_ids", new groovy.json.JsonBuilder(validContentIds).toString())
    1. 修改请求体,引用生成的新变量:
{"content_id": ${filtered_content_ids}}

注意事项

  • 确保脚本中使用的变量名与你实际定义的变量完全一致
  • 优先选择Groovy作为脚本语言,它在JMeter中的执行性能更优
  • 若不需要处理变量前后空格,可去掉代码中的trim()方法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:36:32