JMeter CSV数据集configuration:如何在同一个线程中的variables?

我正在使用CSV数据集configuration元素,这是从这样的文件读取:

abd sds ase sdd ssd cvv 

其中,基本上有一个3个字母的随机string。

我将它们分配给一个名为${random_3}的variables。

现在,我想在同一个线程中多次使用这个列表中的值,但是每当我想移到下一个时候。 例如,我想让第一个采样器使用abd ,第二个采样器使用sds ,然后使用ase等。但是,如果我只使用${random_3}那么只有第一个(abd)被引用。 有没有一种方法可以指定循环来自线程中的CSV数据集的值?

CSV数据集配置工作正常。 所有的值都需要在文件的一列中,并按照描述将它们分配给变量。

创建一个线程组 ,为尽可能多的用户线程,你想迭代的文件(即作用于HTTP请求)。 假设有一个用户,设置线程数为1,循环次数为1。

在线程组内,您需要添加一个循环控制器或一个While控制器 。 你表示你想要遍历整个数据集。 如果您添加一个循环控制器,您将需要将循环计数设置为6,因为您有6个值,每个值一个。 另外(更容易处理整个文件)添加一个while控制器,而不是一个循环控制器,并设置$ {random_3}作为while条件。

在EOF上设置CSV数据集回收并正确设置EOF值的停止线是非常重要的。 如果您打算多次迭代文件,则必须将“EOF上的回收”设置为True (即指示jMeter移回CSV文件的顶部)。 如果你正在使用循环控制器,将“EOF停止线程”设置为False;如果你正在使用while控制器,则设置为true ,并且在读完整个csv数据集后要停止。

将CSV数据集配置添加为控制器的子节点以及HTTP请求。 使用您要使用的任何侦听器来查看结果。

只有当每个线程迭代开始时,CSV数据集才会在文件中移动。

您可以使用原始数据源预处理器来移动每个请求的文件,这是您的解决方案。

请注意,您需要在同一列中具有给定变量名称的值。

做: abd sds ase sdd ssd cvv是非常不同的

 abd sds ase sdd ssd cvv 

第一个有6个变量,每个值有一个值; 第二个变量有6个值。

更新:

CSV数据集似乎也不适合于此目的。

我最终创建了一些简单的beanshell脚本,根据需要创建一个随机的1,2或3个字母的单词,另一个从大集合中读取随机单词。 这样,每次他们被称为他们给一个随机值。 他们被这样调用:

 ${__BeanShell(getRandomStr(3))} 

要么

 ${__BeanShell(getRandomWord())