从 ForEach 控制器内提取的值创建 JSON 请求负载

问题描述 投票:0回答:1

我有一个使用它们的国家/地区列表我创建了要在 ForEach 循环控制器中使用的 var_ 变量

enter image description here

For Each Loop - 输出变量 countryName

enter image description here

在 ForEach 循环控制器内 - 我有一个 JSON 提取器,它根据国家名称(输出变量)获取 countryId、CurrencyId、countryCode enter image description here

我想使用这些提取的值创建我的 JSON。但问题是我无法保留提取的值列表,因为每次循环运行时,值都会重置为最新值。我想在此处使用值列表,我可以用它来创建我的 JSON 负载请求。

enter image description here

java groovy jmeter jmeter-5.0 jmeter-4.0
1个回答
0
投票

不要在 Groovy 脚本中使用像

${currencyId}
这样的 JMeter 变量,对 JMeterVariables 类实例使用
vars
简写,例如:

vars.get('currencyId')

根据 JSR223 Sampler 文档

JSR223 测试元素有一个可以显着提高性能的功能(编译)。要受益于此功能:

  • 使用脚本文件而不是内联它们。如果 ScriptEngine 上提供此功能,这将使 JMeter 编译它们并缓存它们。
  • 或者使用脚本文本并检查缓存编译脚本(如果可用)属性。 使用此功能时,请确保您的脚本代码不直接在脚本代码中使用 JMeter 变量或 JMeter 函数调用,因为缓存只会缓存第一个替换。而是使用脚本参数。

有关 JMeter 中 Groovy 脚本编写的更多信息:Apache Groovy:Groovy 的用途是什么?

© www.soinside.com 2019 - 2024. All rights reserved.