Jmeter 5.2.1:需要有关控制器的帮助

时间:2020-04-02 15:06:07

标签: jmeter

对于我的情况,我想将几​​个样本组合成一个样本以将输出显示为登录名(而不是显示登录中涉及的所有4,5个样本)。我的测试计划为登录和注销用户提供了Onlyonly控制器。用户登录后,我们要遍历不同的数据(迭代)。完成所有迭代后,用户应注销。

我的总体测试计划是这样的。

Testplan
--ThreadGroup
     OnlyOnceController 
            --LoginTransactionController
                      LoginSample1
                      LoginSample2
                      LoginSample3
     Loop Controller
            --Action1transactionController
                       Action1sample1
                       Action1sample2
                       Action1sample3
            --Action2transactionController
                       Action2sample1
                       Action2sample2
            --Action3trasactitonController
                       Action3sample1
                       Action3sample2
    OnlyOnceController
            --LogoutTransactionController
                       Logoutsample1
                       logoutsample2

我在循环控制器内部使用了transactioncontrollers。

当我触发说有30个用户(线程计数)并且循环计数= 10的运行时,然后在视图结果树中,我注意到所有用户都完成一个事务控制器,然后一起移动到另一个事务控制器,然后进入下一个循环是因为我在循环控制器中使用了事务控制器?

但是我希望一旦用户登录,它就应该继续进行下一个样本,而无需等待其他样本。使用事务控制器满足我的要求是否正确?

还有其他方法可以实现这一目标吗?

My_key

LoginTransactionController
LoginTransactionController
LoginTransactionController
.
.
Action1transactionController
Action1transactionController
Action1transactionController
.
.
.
30times
Action2transactionController
Action2transactionController
Action2transactionController
.
.
.
30times
Action3trasactitonController
Action3trasactitonController
Action3trasactitonController
.
.
.
30times

然后将进行第二次迭代。

1 个答案:

答案 0 :(得分:0)

  1. JMeter线程(虚拟用户)是绝对独立的,虚拟用户将不会“等待”其他用户(除非您使用Inter-Thread Communication Plugin
  2. JMeter虚拟用户尽可能快地执行Samplers 上下颠倒。事务控制器不过是一个“虚拟采样器”,它只是将其子级的响应时间相加,对执行顺序没有任何影响

您可以临时添加一个__threadNum()函数和getElementById预定义变量,这样您就可以在测试的每个时刻查看哪个虚拟用户在做什么

enter image description here

相关问题