JMeter:根据条件在请求正文中传递字符串



我有一个请求,我将从以前API调用的响应中提取的一些值作为字符串发送到数组中。

{"content_id":[${identifier_trending_INDIVIDUAL},${identifier_fetch_INDIVIDUAL},${identifier_interestBased_INDIVIDUAL}]}

如果其中一个变量没有任何值,例如:identifier_etch_INDIVIDUAL是一个空字符串,我不想传递它。只有当它有值时,它才应该包含在请求的正文中。是否可以使用任何预处理器元素来实现这一点?

您可以使用JSR223预处理器和以下Groovy代码来实现这一点:

def payload = [:]
def content = []
content += vars.get('identifier_trending_INDIVIDUAL') ?: []
content += vars.get('identifier_fetch_INDIVIDUAL') ?: []
content += vars.get('identifier_interestBased_INDIVIDUAL') ?: []
payload.put('content_id', content)
vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())

您可以将HTTP请求采样器主体中生成的值引用为${payload}

更多信息:

  • Apache Groovy-解析和生成JSON
  • Apache Groovy-Elvis运算符
  • Apache Groovy:Groovy的用途是什么

相关内容

最新更新