Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量链接到JMeter中的数据集_Jmeter - Fatal编程技术网

将变量链接到JMeter中的数据集

将变量链接到JMeter中的数据集,jmeter,Jmeter,我正在使用JMeter3.2创建一些性能测试 我有一个设置,其中一个线程组有多个线程(用户),每次执行多个循环请求一个资源,形成一个服务器 每个线程都通过一个一次性控制器,该控制器从服务器检索令牌,标识用户,并且在所有后续请求中都是必需的。每次生成的令牌都不同,我无法将其存储在数据集(csv)中,因为它稍后将无效 我有一个数据集(.csv文件),其中包含测试用户的用户名和密码 到目前为止还不错。。现在,线程需要在服务器上请求一个需要发送令牌的资源。第一次很顺利,但第二次就开始搞砸了。似乎每次迭代

我正在使用JMeter3.2创建一些性能测试

我有一个设置,其中一个线程组有多个线程(用户),每次执行多个循环请求一个资源,形成一个服务器

每个线程都通过一个一次性控制器,该控制器从服务器检索令牌,标识用户,并且在所有后续请求中都是必需的。每次生成的令牌都不同,我无法将其存储在数据集(csv)中,因为它稍后将无效

我有一个数据集(.csv文件),其中包含测试用户的用户名和密码

到目前为止还不错。。现在,线程需要在服务器上请求一个需要发送令牌的资源。第一次很顺利,但第二次就开始搞砸了。似乎每次迭代都使用数据集中下一行的数据,但检索到的令牌(来自一次性控制器)并没有链接到所使用的数据行(用户名和密码),因此会发生如下情况:

thread1:data1/token1-良好

thread2:data2/token2-良好

thread2可能首先完成并开始新的迭代:

thread2:data1/token2-错误

thread1:data2/token1-错误

所以我的问题是:如何将检索到的令牌链接到数据集中的一行(作为变量),以便在每次将该数据用于请求时都发送正确的令牌

编辑 我有个主意。创建一个哈希表,将数据集中的一些数据作为键,将令牌作为值,但我有一些问题。我创建了以下代码:

import java.util.Hashtable;
map = new Hashtable();
vars.putObject("map", map);
但它引发了以下错误:

java.util.Hashtable cannot be cast to java.lang.String

我终于找到了答案,尽管这可能不是最理想的解决方案。我所做的是创建一个属性(变量不起作用),它是一个JSONObject。在这里,我可以存储一个id(用于我的数据)和链接到它的令牌。我将其转换为字符串并存储在属性中

在需要令牌的http请求的预处理器中,我检索属性并将其解析回JSONObject,并可以使用id查找令牌