jmeter - 如何将属性或线程组变量传递给 sample_variables=
问题描述
我想使用属性 sample_variables= 将线程组 1 中的变量作为自定义字段添加到 jtl 文件中,用于线程组 2 报告的行。尝试 w 从线程组 1 创建局部变量的属性,但 sample_variables 似乎没有打印属性。
无论如何,我可以为线程组 2 中的每次执行记录线程组 1 中的变量吗?
Test Plan (initiated w property sample_variables=var1)
--> Thread Group 1
----> JDBC request setting var1 # this prints var1 nicely to the jtl file
--> Thread Group 2
---> Another JDBC request # this prints "null" to jtl (as var1 is local to TG1)
解决方案
当您使用Sample Variables属性时,您指示 JMeter 将定义的变量值保存到 .jtl 结果文件中的额外列中
根据JMeter 文档:
属性与变量不同。变量是线程本地的;属性对所有线程都是通用的,需要使用 __P 或 __property 函数来引用。
如果您只想将单个值从线程组 1 复制到线程组 2,您需要:
将JSR223 Sampler添加到 Thread Group 1 的末尾
将以下代码放入“脚本”区域:
prev.setIgnore() //don't save this JSR223 Sampler in listeners or .jtl result file props.put('var1', vars.get('var1')) // convert var1 variable into a JMeter property
将 JSR223 Sampler 添加到 Thread Group 2 的开头
将以下代码放入“脚本”区域:
prev.setIgnore() vars.put('var1',props.get('var1')) // convert var1 property into a JMeter Variable
上面的代码props
是java.util.Properties的一个实例,vars
代表JMeterVariables,请参阅您应该与 Groovy 一起使用的 8 个 JMeter Java 类,以获取有关此和其他可用于 JSR223 测试元素的 JMeter API 简写的更多信息。
推荐阅读
- ruby-on-rails - 验证失败后如何检索参数?
- python - 如何将欧洲格式的时间序列(千位分隔符)导入 python 或 r
- javascript - 使用反应输入文本失去焦点
- button - “ShinyWidgets”中的“shinySaveButton”等价物是什么?
- javascript - 如何在渲染之外将道具从一个组件发送到另一个组件?
- eclipse - 如何在 eclipse che 上创建自定义前端?
- docker - 错误:作业失败:命令以退出代码 1 终止
- python - 如何使用 librosa 将女性声音转换为男性声音?
- php - 如何在数组中找到键?
- reactjs - 如何将 API 响应从后端(Go)传递到前端(React)?