在JMeter中使用CSV的替代方法(用于生成用户名)

时间:2015-11-25 08:15:08

标签: jmeter beanshell

我有一个具有以下结构的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的东西很新。感谢。

2 个答案:

答案 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。