代码之家  ›  专栏  ›  技术社区  ›  Anonymous

JMeter:如何利用运行时在多个线程组上生成的令牌

  •  0
  • Anonymous  · 技术社区  · 6 年前

    场景是我们在执行期间生成令牌,该令牌将在其他线程组中进一步使用。

    比如:

    在第一个线程组中,将为100个用户生成令牌。

    查询是: 1.如何保存运行时生成的令牌? 2.如何在第二个线程组上使用前50个令牌,在第三个线程组上使用其余50个令牌?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Community CDub    5 年前

    如果您需要在下面的请求中使用由请求生成的令牌,那么使用1个线程组而不是多个线程组。

    不同ThreadGroup中的线程完全没有关系,被认为是不同的用户,因此尽管您可以使用 InterThreadCommunication 要做到这一点,就不要。

    如果使用相同的线程组,那么只需使用正确的提取器生成变量,然后使用${varName}即可。

        2
  •  0
  •   Dmitri T    6 年前

    属性与变量不同。变量是线程的局部变量; ,并且需要使用\uu P或\uu属性函数引用。

    因此,如果您需要将某个线程组中的内容转移到另一个线程组中:

    1. 使用将值转换为JMeter属性 __setProperty() 功能如下:

      ${__setProperty(foo,bar,)}
      
    2. __P()

      ${__P(foo,)}
      

    演示:

    JMeter Property across thread groups

    如果不同线程的值不同-可以将上述方法与 __threadNum() __counter() 函数,以便使用当前虚拟用户号或下一个递增的数字作为函数的前缀或后缀。