我有一个具有以下结构的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文件的过程。
请建议是否有替代节省时间&通过I实现性能高效的方法,可以满足我的方案要求(不使用CSV文件)。
我将不胜感激,如果你可以用一些细节来解释替代解决方案,因为我对JMeter的东西很新。感谢。
答案 0 :(得分:0)
您可以在每个帖子中使用计数器。第一个线程中计数器的起始值为1,在第二个线程中为51.确保每个用户独立跟踪计数器'复选框未选中。
如果分别将引用名称设置为thread1Count和thread2Count,则可以使用
Username${thread1Count}
表示第一个帖子和
用户名$ {thread2Count}
第二个。
答案 1 :(得分:0)
另一个想法是使用
Username${__threadNum}
表示第一个线程组和
Username${__BeanShell(ctx.getThreadNum()+Z+1)}
表示第二个,其中Z等于线程组1中的线程总数。您还需要添加1,因为ctx.getThreadNum()使用基于0的索引返回线程编号,而__threadNum函数基于1。