如何上传唯一文件。 Jmeter分布式测试

时间:2014-08-13 09:44:42

标签: jmeter performance-testing

我有一个场景,我必须上传一个唯一的命名文本文件。我在线程级别使用了计数器,并使用引用名称作为文件名。如果我想上传File_1.txt,我使用了一些东西像这样file_${counter_refname}。这就像单机中的魅力一样,但现在的问题是当我在分布式模式下运行时,slave_1正在上传File_1.txt而Slave 2机器也正在上传相同的文件File_1.txt 。目标服务器不允许上传具有相同名称的文件。如何解决这个问题??

2 个答案:

答案 0 :(得分:0)

使用包含文件名的CSVData Set。

为每个分布式节点创建1个文件,并确保所有这些文件永远不会包含相同的文件名。

为此,首先创建一个具有唯一名称的文件,然后将其拆分为与节点一样多的文件。

另一个选择是,如果序列号不重要,只需使用__UUID函数生成一个唯一的文件名:

答案 1 :(得分:0)

有一些功能可以帮助识别从机和参数化文件名。

此外,您可以查看__Random()__RandomString()函数,以便随时生成具有随机名称的唯一文件,即Beanshell PreProcessor,如下所示:

import org.apache.commons.io.FileUtils;
String filename = "file_${__Random(10000,99999,)}.txt";
FileUtils.writeStringToFile(new File(filename), "a quick brown fox", "UTF-8");
vars.put("filename", filename);

请在必要时将生成的文件名称为${filename}