我有一个具有以下结构的JMeter测试计划
Test Plan
**ThreadGroup1**
--CSV Data Config-001
----SimpleController
--------------LoginRequest
--------------Action-abc-Request
**ThreadGroup2**
--CSV Data Config-002
----SimpleController
--------------LoginRequest
--------------Action-xyz-Request
我有两个CSV文件,其中包含这样的用户列表..
**CSV-001**
Username1
Username2
.. ..
Username50
**CSV-002**
Username51
Username52
.. ..
Username100
在我的场景中,我需要用100个用户运行负载测试 . 50个用户从ThreadGroup1登录,其他50个用户从ThreadGroup2登录 . 两个线程组的用户同时登录 .
目前,每当我更改总用户数时,我都必须完成手动创建/编辑这些CSV文件的过程 .
请通过我建议是否有任何 alternative time-saving & performance-efficient 方法可以满足我的方案要求(不使用CSV文件) .
如果你能用一些细节解释替代解决方案我会很感激,因为我对JMeter的东西很新 . 谢谢 .
2 回答
另一个想法是使用
Username${__threadNum}
对于第一个线程组和
Username${__BeanShell(ctx.getThreadNum()+Z+1)}
对于第二个,其中Z等于线程组1中的线程总数 . 您还需要添加1,因为ctx.getThreadNum()使用基于0的索引返回线程编号,而__threadNum函数基于1 .
您可以在每个线程中使用计数器 . 第一个线程中计数器的起始值为1,在第二个线程中为51.确保未选中“为每个用户独立跟踪计数器”复选框 .
如果将引用名称分别设置为thread1Count和thread2Count,则可以使用
对于第一个线程和
用户名$ {} thread2Count
第二个 .