我正在使用json提取器从json响应中提取多个值。我的目标是增加所有这些价值。我已经尝试过使用foreach控制器,但是它对我不起作用。
我有一个调试示例,确认我正在检索所有值。我需要获取所有这些值中的一些。取值范围是0到几千。有没有一种简单的方法来计算总和。
答案 0 :(得分:1)
假设您具有这样的JSON结构
{
"body": [
{ "count": 0 },
{ "count": 23 },
{ "count": -1 },
{ "count": 20 },
{ "no_count_here": "really" }
]
}
然后,您的后处理器将添加一个名为countFromResponse
的变量,其内容为0,23,-1,20
。要对这些值求和,必须在每个逗号处分割字符串,将字符串摘要转换为Integer值,然后将它们全部求和,然后将其转换回字符串。然后可以将该值存储在另一个名为countFromResponse_SUM
的变量中。
这可以通过使用以下groovy代码的JSR223后处理器来实现:
overall = vars.get("countFromResponse_ALL")
.split(",")
.collect { Integer.valueOf(it) }
.sum()
.toString()
vars.put("countFromResponse_SUM", overall)
转换回字符串很重要,因为JMeter中的所有普通变量都将被视为字符串。