无法访问其他线程组中的Jmeter属性。

时间:2017-06-14 09:53:31

标签: jmeter performance-testing jmeter-plugins

在第一个线程组中,在bean-shell Post处理器中,我添加了以下代码来设置名称为“id”的Jmeter属性:

 int abc=10   
 int start=${abc}+1;
 ${__setProperty("id",start)};
 print(props.get("id"));

在第二个线程组中,我尝试使用:

访问beanshell中的“id”值
int pq=${__P("id",1)};

现在,'pq'的值应为11,但默认值为'1'。 当我检查Debug PostProcessor时,id的值是字符串'start'而不是11.我不确定需要进行哪些更改。我注意到的另一个有趣的事情是:在控制台中,它打印11为“print(props.get(”id“))”“在jmeter属性中,它存储字符串值'start'。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

首先,通常会注意,不要将变量和函数调用内联到基于脚本的测试元素中,因为它们可能会出错。

所以你应该修改你的代码,如:

  1. First Thread Group:

    int abc=10   
    int start=abc+1
    props.put('id', start)
    
  2. 第二个线程组

    int pq = props.get('id')
    log.info('Property value: ' + pq)
    
  3. 注意:上述代码假定使用JSR223 Test ElementsGroovy language