【问题标题】:How to keep Thread variables in jmeter when multiple Threads are running in parallel?当多个线程并行运行时,如何在jmeter中保留线程变量?
【发布时间】:2017-03-09 04:01:49
【问题描述】:

我的多个线程并行运行。 任何请求都可以从任何线程多次触发。 我已使用 vars.put() 将请求变量存储在 beanshell 中。 我已经使用 vars.get() 在另一个 beanshell 中检索了这些变量。 但是当线程并行运行时,我希望在检索变量时 应该检索当前线程的值。 有点像在 java 中我们如何使用 this 关键字并获取当前对象的属性。 我该怎么做?

int ThreadNum = ctx.getThreadNum();
String[] Request_values= new String[Request_variables.length];

如何将线程号连接到 Request_values?

【问题讨论】:

    标签: java parallel-processing jmeter beanshell


    【解决方案1】:

    JMeter 变量基本上是ThreadLocal,因此你不需要做任何事情。

    如果您需要在线程 2 中访问线程 1 的变量值,您可以使用 ${__threadNum} function 作为前缀或后缀将当前线程编号附加到 JMeter 变量名称中。

    【讨论】:

    【解决方案2】:

    你可以使用 vars.putObject("",""); 来放置你的字符串数组; 这时候你可以在 keyname 处连接你的线程号。

    int ThreadNum = ctx.getThreadNum();
    String[] Request_values= new String[Request_variables.length];
    vars.putObject("Key_"+ThreadNum ,Request_values);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多