Jmeter>> 每个用户的确切 N 个请求 >> 当我们想要控制/发送确切的请求数时,使用哪个线程组



我的组织有一组5个http请求。R1、R2至R5。每个http请求都使用Addr和City以及用户id作为输入。csv表中有500个用户可用于这5个请求。我们希望每个用户有一个aprrox或精确的50个请求,分为5个api请求。附加条件是R1在50 req中应该有更多的权重所以它看起来像这个

User1 >> R1=20Request, R2=10Request, R3=10Request, R4=5Request, R5=5Request >> 50
User2 >> R1=20Request, R2=10Request, R3=10Request, R4=5Request, R5=5Request >> 50
User3 >> R1=20Request, R2=10Request, R3=10Request, R4=5Request, R5=5Request >> 50
..
User500 >> R1=20Request, R2=10Request, R3=10Request, R4=5Request, R5=5Request >> 50

我尝试了以下测试计划

Test plan 1 (10 Thread, loop count 5, loop controller loop count 1)
>>CSV Data Config Users
>>CSV Data Config Addr
>>CSV Data Config City
>>Thread Group 
>> loop controller
>> R1
>> R2
>> R3
>> R4
>> R5
Test plan 2 ( Using % distribution for Throughput controller with 5min run)
>>CSV Data Config Users
>>CSV Data Config Addr
>>CSV Data Config City
>>Ultimate Thread Group 
>> Throughtput controller
>> R1
>> Throughtput controller
>> R2
>> Throughtput controller
>> R3
>> Throughtput controller
>> R4
>> Throughtput controller
>> R5
Test plan 3 (10 Thread, loop count 5, loop controller loop count 1)
>>CSV Data Config Usrs
>>setUp Thread Group
>>CSV Data Config Addr
>>CSV Data Config City 
>> loop controller
>> R1
>> R2
>> R3
>> R4
>> R5
Test plan 4 (10 Thread, loop count 5, loop controller 1 loop count 1, LC2 count 2)
>>CSV Data Config Users
>>CSV Data Config Addr
>>CSV Data Config City
>>Thread Group 
>> loop controller 1
>> R2
>> R3
>> R4
>> R5
>> loop controller 2
>> R1

问题说明:

  1. 在测试计划1,3&4我们可以使用CSV的所有用户,但请求数根本没有达到50
  2. 在TestPlan2中,csv中的所有用户都没有被使用,请求计数有时超过50,有时低于50

最简单的选择就是添加R1的另一个副本,如:

Test plan 1 (10 Thread, loop count 5, loop controller loop count 1)
>>CSV Data Config Users
>>CSV Data Config Addr
>>CSV Data Config City
>>Thread Group 
>> loop controller
>> R1
>> R1 (another copy)
>> R2
>> R3
>> R4
>> R5

而不是";愚蠢的";复制和粘贴HTTP请求采样器,您可以定义包含此R1请求的测试片段,并使用模块控制器引用它两次

如果您的";重量;标准更复杂,考虑使用加权开关控制器可能是一个更好的主意。

相关内容

  • 没有找到相关文章

最新更新