如何在Jmeter中为事务控制器分配不同的负载?

时间:2019-02-02 07:26:43

标签: jmeter

我曾经在的JMeter创建测试用例

Test Plan 
  - Transaction Controller (Login)
     - Login
     - Home Page
  - Transaction Controller (Payment)
     - Make Payment
     - Search Payment
     - Schedule Payment
  - Transaction Controller (Online Services)
     - Cheque Request
     - Card Replacement
  - Transaction Controller (Add Beneficiary)
      - Add Beneficiary
      - Activate Beneficiary
  - Transaction Controller (Account Services)
       - Mini Statement
       - Balance

........继续

我们已针对所有方案尝试了3000名用户。但是业务团队有这样的要求,因为所有用户都不希望满足所有要求,因为这是不现实的。它们具有

之类的优先级
Login ~ 50%
Payment ~ 20%
Account Service ~  20%
General Service ~ 2%
etc.,

Jmeter的默认行为是独立运行所有请求,并将针对配置的线程数运行所有请求。

有可能实现这一目标吗?

3 个答案:

答案 0 :(得分:2)

根据您要实现的目标,有多种选择:

  1. 您可以使用不同的Thread Groups代表不同的虚拟用户组
  2. 您可以使用Throughput Controller控制执行其子级的频率
  3. 您可以使用Switch Controller提供灵活的条件
  4. 您可以选择Weighted Switch Controller,它将交换控制器的功能与吞吐量控制器的易用性相结合。这个家伙不是JMeter随附的,您需要使用JMeter Plugins Manager
  5. 进行安装

答案 1 :(得分:1)

您可以使用Throughput Controller。在“执行百分比”模式下将事务控制器转换为吞吐量控制器。根据您的需要在吞吐量控制器中设置吞吐量,例如:登录-50,付款-20等

答案 2 :(得分:0)

您可以添加多个具有不同用户数量的线程组。 例如50个具有登录名的线程组用户 带有付款等主题的线程组有20个用户。