在linux中的Jmeter中,我为每个测试套件创建Result.xml,重新运行它会附加到旧的Result.xml但我想创建一个新的Result.xml
为此,我需要在测试计划执行之前运行rm -rf Result.xml
。
我在Jmeter中使用了OS Process Sampler,如下所示:
首先,我需要转到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文件?
答案 0 :(得分:0)
您未在操作系统示例中定义Working directory。您需要在其中写入文件Result.xml的路径。如果不是,它将在bin文件夹中执行
工作目录 将从中执行命令的目录,默认值>到“user.dir”系统属性
引用的文件夹
答案 1 :(得分:0)
原因是您无法删除JMeter正在打开的文件以写入结果。但是,您可以使用配置为:
的单个OS Process Sampler清理文件的内容一般来说,你的方法不是很好,因为使用XML输出格式并且在测试运行期间启用了监听器会违反JMeter Best Practices listeners cause massive IO overhead因此我建议重新考虑你的结果保存方法并使用{{3指定结果文件位置而不是使用侦听器。