Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Testing 使用CSV数据集配置时,强制线程使用相同的输入行_Testing_Jmeter - Fatal编程技术网

Testing 使用CSV数据集配置时,强制线程使用相同的输入行

Testing 使用CSV数据集配置时,强制线程使用相同的输入行,testing,jmeter,Testing,Jmeter,我正在尝试构建一个Jmeter测试计划,它可以对服务器进行http调用。线程组中的每个线程将从CSV文件中读取2个参数,并使用参数进行http调用,然后继续使用相同的参数进行相同的调用,例如1000次,每个线程执行之间的延迟为10秒 http调用看起来像 /service/method?param1=${param1}&param2=${param2} /服务/方法?param1=${param1}¶m2=${param2} CSV如下所示: 1,2 3,4 5,6 7,8 1,

我正在尝试构建一个Jmeter测试计划,它可以对服务器进行http调用。线程组中的每个线程将从CSV文件中读取2个参数,并使用参数进行http调用,然后继续使用相同的参数进行相同的调用,例如1000次,每个线程执行之间的延迟为10秒

http调用看起来像

/service/method?param1=${param1}&param2=${param2} /服务/方法?param1=${param1}¶m2=${param2} CSV如下所示:

1,2 3,4 5,6 7,8 1,2 3,4 5,6 7,8 我已经制定了测试计划,除了一个问题外,该计划大部分都有效。每当线程执行时,我希望每个线程都使用相同的参数(相同的输入行)。目前唯一的方法是在EOF=true时设置
Recycle
,但线程会随机选取值。Param1和Param2可以是随机生成的值,只要它们在整个执行过程中始终与同一线程保持一致

我有没有办法做到这一点


谢谢

我不确定我是否正确理解您的问题(您可以更明确地描述它或使用示例),但下面的模式应该实现您的测试计划描述:

Test Plan Thread Group Number of Threads: N . . . While Controller Condition: ${__javaScript("${param2"!="<EOF>",)} - read csv-file until the EOF CSV Data Set Config Filename: [path to your file with test-data] Variable Names: param1,param2 Recycle on EOF? False Stop thread on EOF? True Sharing mode: Current thread group Loop Controller Loop Count = 1000 - number of loops for each thread, with the same params HTTP Request - your http call Test Action Target = Current Thread Action = Pause Duration (ms) = 10000 - pause between calls . . . 测试计划 螺纹组 线程数:N . . . While控制器 条件:${uuuJavaScript(${param2”!=“”,)}-读取csv文件,直到EOF CSV数据集配置 文件名:[包含测试数据的文件路径] 变量名称:param1,param2 在EOF上回收?错误 EOF上的停止线程?正确 共享模式:当前线程组 回路控制器 循环计数=1000-每个线程的循环数,参数相同 HTTP请求-您的HTTP调用 测试动作 目标=当前线程 动作=暂停 持续时间(毫秒)=10000-呼叫之间暂停 . . . 如果您需要N个线程中的每一个读取并使用csv文件中的单一且唯一的行,则必须为csv数据集配置设置
共享模式:当前线程组
(在这种情况下,csv条目的数量应为sane as threads number,否则应设置
EOF回收?False)。
如果您需要N个线程中的每个线程读取并使用csv文件中的所有行,则必须为csv数据集配置设置
共享模式:当前线程


如果这不是您想要的,请更清楚地描述您的问题。

我找到了一种破解方法。基本上,我只是为每个线程设置了一个常量计时器,并使用线程号${uu threadNum}作为参数,以满足我的约束,即同一线程使用相同的参数


我仍然希望能够从csv文件中读取参数。

请参阅我的破解答案。我确实尝试了与您描述的类似的操作(在发布此问题之前),但我发现如果将EOF上的Recycle设置为False,则测试在运行1次后停止。如果EOF上的Recycle设置为True,则无法控制每个线程的参数。例如,如果1个线程需要很长时间才能返回。