在分布式JMeter测试中写入以变量命名的文件

时间:2014-05-15 21:15:26

标签: jmeter

好的,我在将结果写入JMeter中的文件夹时遇到了问题。

我设置了2个变量,一个用于测试名称,一个用于提交日期。我希望将报告写入以这两个变量命名的文件夹。

这里是变量:

TestRun = "Name of test"
DateRun = $__{time(dd-MMM-yyyy HH.mm.ss)}

要写入的文件夹的路径如下所示:

C:\Tests\TestEnvironment\Results\\${TestRun}${DateRun}\file.csv

当我在主机上运行它时,它很好。它保存到正确的文件和文件夹路径,最终看起来像这样:

C:\Tests\TestEnvironment\Results\Test Run 1 - 08-May-2014 08.55.47\file.csv

但是,当我在远程计算机上运行它时,它会按字面意思保存它:

C:\Tests\TestEnvironment\Results\${TestRun}${DateRun}\file.csv

所以我最终得到一个名为" $ {TestRun} $ {DateRun}"

的文件夹

我是否遗漏了一些令人眼花缭乱的东西,或者这是一个真正的JMeter问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

根据JMeter的帮助:

    -G, --globalproperty <argument>=<value>
            Define Global properties (sent to servers)
            e.g. -Gport=123
             or -Gglobal.properties

您需要使用-G密钥,以便您的变量可以分布在远程客户端上。

如下所示:

jmeter -r -n GTestRun=SomeName -GDateRun=SomeTime -t /path/to/your/plan

应该有所帮助。

或者,您可以创建一个.properties文件,并通过相同的&#34; -G&#34;将其传递给远程JMeter引擎。选项。

我希望如果你想使用JMeter __time()函数,你需要用__eval包装它,否则它将被视为一个字符串。或者,您可以使用操作系统命令来检索当前日期和时间。

有关处理JMeter属性的更多信息,请参阅Apache JMeter Properties Customization Guide