问题描述
我的组织有5个http请求。 R1,R2至R5。每个http请求都将Addr和City以及用户ID用作输入。 csv表中有500个用户可用于这5个请求。我们希望每个用户大约有50个请求,或将其精确分成50个api请求。并且附加条件是R1应该在50 req中具有更大的权重 看起来像这样
User1 >> R1=20Request,R2=10Request,R3=10Request,R4=5Request,R5=5Request >> 50
User2 >> R1=20Request,R5=5Request >> 50
User3 >> R1=20Request,R5=5Request >> 50
..
User500 >> R1=20Request,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 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 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
问题陈述:
解决方法
最简单的选择是添加另一个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
您可以定义一个包含此R1
请求的Test Fragment并使用Module Controller对其进行两次引用,而不是“愚蠢”的复制和粘贴HTTP请求采样器
如果您的“体重”标准较为复杂,建议改用Weighted Switch Controller。