0

我需要编写一个脚本来搜索文件夹结构中文件类型为 .jmx 的文件。例如,我将有一个名为 Testing 的根文件夹,其中将包含接口名称,例如客户、购物篮、搜索等。然后在每个文件夹中将有另一个名为 jmxFiles 的文件夹,其中将包含这些 .jmx 文件。所以我需要做的是让 ant 搜索整个文件夹结构。

我现在拥有的是:

<?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}"/>
  <property name="jtesting-home" location="C:/Users/MURPHYA1/Desktop/JTesting"/>
  <!-- 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" />
  <target name="clean">
    <delete dir="${jtesting-home}/results"/>
    <delete file="jmeter.log"/>
    <mkdir dir="${jtesting-home}/results/jtl"/>
    <mkdir dir="${jtesting-home}/results/html"/>
  </target>
  <target name="test" depends="clean">
    <jmeter
       jmeterhome="${jtesting-home}"
       resultlogdir="${jtesting-home}/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>

* / .jmx 会工作还是我需要别的东西?

谢谢

4

1 回答 1

1

testplans根据 JMeter 文档,该元素是一个标准的 Ant文件集,因此您可以执行Ant 文件集文档中描述的任何事情。单个星号 ( *) 是单个目录的占位符,而双星号 ( **) 表示任意数量的子目录 ( docs )。

例如(我不确定我是否正确理解了您的问题),您可以定义这样的文件集:

<testplans dir="JTesting" includes="*/jmxFiles/*.jmx"/>

这将假定目录如下:JTesting/basket/jmxFiles/foo.jmx. 它还假设您的${basedir}is C:/Users/MURPHYA1/Desktop。如果不是,请使用绝对路径或属性${jtesting-home}dir

于 2013-08-08T13:13:16.043 回答