在我的 build.xml 文件中,我可以在多个文件夹中搜索 .jmx 文件,然后在 jmeter 中使用这些文件。然后,我想保存输出文件,即 .jtl 文件在不同位置的一个文件夹中。但是,它们被保存在与读取 jmx 文件相同的文件夹结构中。
因此,例如,我在名为 JTesting 的根文件夹中有 jmx 文件,其中两个文件夹分别称为篮子和客户。在每个文件夹中,都有一个名为 jmxFiles 的文件夹,其中包含 .jmx 文件。所以路径看起来像这样:
JTesting/篮子/jmxFiles & JTetsing/客户/jmxFiles
我的 ant 文件可以很好地提取这些文件,但是在保存 .jtl 文件时,我希望它存储在 results/jtl 文件夹结构中,而是将其保存为:
结果/jtl/basket/jmxFiles & results/jtl/customer/jmxFiles
因此,它添加了从中获取文件的文件夹结构。我的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project default="all">
<!-- Define an environment variable pointing to JMETER folder or change this -->
<property environment="env"/>
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter-home" location="${env.JMETER_DIR}"/>
<!-- ant-jmeter.jar comes with jmeter, be sure this is the release you have -->
<path id="ant.jmeter.classpath">
<pathelement
location="${jmeter-home}/extras/ant-jmeter-1.1.1.jar" />
</path>
<taskdef
name="jmeter"
classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"
classpathref="ant.jmeter.classpath" />
<!-- TODO: Change this so it deletes results folders and re-creates them -->
<target name="clean">
<delete dir="results"/>
<delete file="jmeter.log"/>
<mkdir dir="results/jtl"/>
</target>
<target name="test" depends="clean">
<jmeter
jmeterhome="${jmeter-home}"
resultlogdir="results/jtl">
<testplans dir="JTesting" includes="/**/**/*.jmx"/>
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.bytes" value="true"/>
<property name="file_format.testlog" value="${format}"/>
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
<property name="testData.fullPath" value="C:/TestData"/>
</jmeter>
</target>
<property name="lib.dir" value="${jmeter-home}/lib"/>
<!-- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ -->
<path id="xslt.classpath">
<fileset dir="${lib.dir}" includes="xalan*.jar"/>
<fileset dir="${lib.dir}" includes="serializer*.jar"/>
</path>
<!-- This is not needed for the plugin, but it produces a nice html report
which can be saved usin hudson's archive artifact feature -->
<target name="report" depends="test">
<xslt
classpathref="xslt.classpath"
basedir="results/jtl"
destdir="results/html"
includes="*.jtl"
style="${jmeter-home}/extras/jmeter-results-detail-report_21.xsl"/>
</target>
<target name="all" depends="test, report"/>
</project>
我怎样才能将所有 .jtl 文件存储在 results/jtl 中???