在JMeter中,我已经使用JSON提取器从响应中提取了一个字符串值(我通过选中**'Compute Concatenation var'复选框来存储变量的所有示例)。这些值存储在一个名为identifier_ALL**的变量中。它看起来像这样:
identifier_ALL = 123, 456, 789
在上面的例子中,我得到了3个值,但是每个请求的值都不同。我需要将各个值传递到请求的主体,所以我使用了下面的语法:
{"content_id": ["${identifier_ALL}"]}
它将传递如下所示的值:{“内容标识”:[“123,456,789”]}
但我希望id像下面这样传递:
Expected: {"content_id": ["123", "456", "789"]}
我不想将这些值写入CSV文件,然后再从那里提取值,因为我正在为5000个用户运行脚本,这只会增加内存占用率和响应延迟。有没有其他方法可以用来以预期的格式传递值?
1条答案
按热度按时间kcrjzv8t1#
遗憾的是,这不是使用JSON Extractor可以实现的,您需要:
1.在JSON提取器之后添加JSR223后处理器
1.将以下代码放入“Script”区域:
1.在下一个请求中使用
{"content_id": [${identifier_INDIVIDUAL}]}
在上面的示例中,
vars
代表JMeterVariables类示例,请查看JavaDoc以了解所有可用的方法和字段,并查看Top 8 JMeter Java Classes You Should Be Using with Groovy文章以了解有关此快捷方式和其他可用于JSR223测试元素的JMeter API快捷方式的更多详细信息。