在线程组中使用JMeter ForEach Controller时,我定义了一个变量开始索引,例如:fetch('/api-url', {
method: 'POST',
body: JSON.stringify({ checked: event.currentTarget.checked }),
mode: "same-origin",
credentials: "same-origin",
headers: {
"Content-Type": "application/json"
}
}).then(res => res.text()).then(function(response) {
console.log(response);
});
,每个线程不同,并且输出变量名称为res.json()
。随后是日志记录采样器,我可以看到${startFrom}
按预期传递,并且每个线程都不同,但是所有线程都具有相同的currentFile
。
我希望每个线程都有一个不同的startFrom
,因为它们应该从不同的索引开始。我在做什么错,如何使每个线程都具有正确的currentFile
?
-编辑-
我所试图做的实际上是:获取从FTP中的所有文件在一个线程,然后分割文件成批所以每个线程拉我在一个线程获取这些文件的等量。我将添加简短的修改以显示我的问题。
显示此问题的示例:
currentFile
当调试显示不同的currentFile
值时,为什么每个线程在日志中都显示正在复制每个文件?我很可能会滥用某些东西,但是呢?
答案 0 :(得分:1)
我无法复制您的问题:
假设定义了以下JMeter Variables:
proofOwner
以及以下ForEach Controller配置
JMeter从__threadNum()函数指定的偏移量开始,直到:
假设以上所有条件
foo_2=bar
foo_3=baz
foo_4=qux
变量值对于所有线程都是相同的,您可以使用Debug Sampler 还请注意Directory Listing Config插件,如果您需要有条件地遍历文件夹中的文件-使用起来可能会容易得多。