JMeter - 如何将数组传递给属性变量?

时间:2017-01-13 00:07:40

标签: jmeter jmeter-plugins

我在setUp Thread Group下有一个BeanShell PostProcessor 它生成一个ArrayList,我想将其作为系统属性传递给测试计划中的测试线程组 该数组包含测试组中的线程数 语法是什么?我应如何在Tread组“线程数(用户)”中引用该数组的元素?

这就是我在setUp Thread Group中的内容

ArrayList users = new ArrayList();
${__setProperty(users, ${users})};

这就是我在线程数

中的内容
${__P(users).get(0)}

不起作用。
谢谢 enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

如果你真的需要“ArrayList”,你可以使用bsh.shared namespace

  1. 在setUp中,Thread Group将ArrayList放入“bsh.shared”命名空间,如:

    ArrayList users = new ArrayList();
    users.add(5);
    bsh.shared.users=users;
    
  2. 在普通的线程组中,您可以通过__BeanShell function读取值:

    ${__BeanShell(bsh.shared.users.get(0),)}
    
  3. 但是我觉得你的测试设计很糟糕,你可以摆脱脚本或者至少使用数组。