如何在Jmeter中附加旧的Result.xml文件?

时间:2017-07-28 08:21:12

标签: xml linux jmeter jmx jmeter-plugins

在linux中的Jmeter中,我为每个测试套件创建Result.xml,重新运行它会附加到旧的Result.xml但我想创建一个新的Result.xml

为此,我需要在测试计划执行之前运行rm -rf Result.xml

我在Jmeter中使用了OS Process Sampler,如下所示:

3 OS Process Samplers

首先,我需要转到Result.xml和Jmeter.jmx文件所在的文件夹。但这条道路并不固定。

所以我使用pushd .来保存当前路径,Jmeter.jmx文件将以非gui模式运行(与Result.xml相同的目录)。

然后popd转到此路径,该路径应该是Jmeter.jmx和Result.xml文件所在的文件夹。

然后删除应删除Result.xml文件的rm -rf Result.xml

然后执行其余的调用并在同一目录中创建一个新的Result.xml文件。

Execution sequence of the entire suite

此方法无法正常工作,因为测试执行的结果不会产生任何错误,但是没有创建新的Result.xml。这意味着即使OS Process Sampler放在测试套件之前,它也会删除新的Result.xml文件。因此,在创建或执行结果树之前,会生成Result.xml。

如何运行OS Process Sampler来删除旧的Result.xml文件?

2 个答案:

答案 0 :(得分:0)

您未在操作系统示例中定义Working directory。您需要在其中写入文件Result.xml的路径。如果不是,它将在bin文件夹中执行

  

工作目录   将从中执行命令的目录,默认值>到“user.dir”系统属性

引用的文件夹

答案 1 :(得分:0)

原因是您无法删除JMeter正在打开的文件以写入结果。但是,您可以使用配置为:

的单个OS Process Sampler清理文件的内容

JMeter OS Process Sampler configuration

一般来说,你的方法不是很好,因为使用XML输出格式并且在测试运行期间启用了监听器会违反JMeter Best Practices listeners cause massive IO overhead因此我建议重新考虑你的结果保存方法并使用{{3指定结果文件位置而不是使用侦听器。