Ant-如何指导文件的保存位置



在我的build.xml文件中,我可以在多个文件夹中搜索.jmx文件,然后在jmeter中使用这些文件。然后,我想将输出文件保存在不同位置的一个文件夹中的.jtl文件中。然而,它们被保存在与读取jmx文件相同的文件夹结构中。

例如,我在一个名为JTesting的根文件夹中有jmx文件,其中两个文件夹名为basket和customer。在每个文件夹中,都有一个名为jmxFiles的文件夹,其中包含.jmx文件。所以路径看起来是这样的:

JTesting/backet/jmxFiles&JTetsing/Customer/jmxFiles

我的ant文件可以很好地提取这些文件,但在保存.jtl文件时,我希望它存储在results/jtl文件夹结构中,但它将其保存为:

results/jtl/backet/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中???

使用以下两个任务的组合:

  • TempFile
  • 复制

如果您需要创建一个新文件而不是移动现有文件,请使用以下任务:

  • 替换

参考

  • Velocity DVSL Ant任务参考

  • 蚂蚁核心任务快速参考(pdf)

相关内容

  • 没有找到相关文章

最新更新