如何从jmeter的setProperty中的变量传递值

时间:2019-02-22 06:07:37

标签: testing properties automation jmeter

我有一个设置线程组,用于设置属性值,并且在线程组中,我正在使用csv数据集configure中的变量

enter image description here

enter image description here

如果我给出像 $ {__ setProperty($ {name},_ id.csv)},但如果我从数组中提取_id.csv,则不会读取该值。

1 个答案:

答案 0 :(得分:2)

不要将JMeter Functions or Variables内联到Groovy脚本中:

  1. 它可能会解决导致脚本编译失败的问题
  2. 它可能与Groovy GString templates
  3. 冲突
  4. 它与compilation caching功能
  5. 冲突

根据JSR223 Sampler文档:

  

JMeter在将脚本字段传递给解释器之前先处理函数和变量引用,因此这些引用将只解析一次。脚本文件中的变量和函数引用将逐字传递给解释器,这可能会导致语法错误。为了使用运行时变量,请使用适当的props方法,例如

props.get("START.HMS");

props.put("PROP1","1234");

因此,您需要按如下所示修改代码:

def name = 'file'
def files = ['_id.csv']
props.put(name, files[0])

查看Apache Groovy - Why and How You Should Use It文章,以获取有关JMeter中Groovy脚本编写的更多信息。