ant+jenkins+jmeter环境配置

关于jmeter中build.xml配置(ant+jenkins+jmeter)

jmeter+ant+Jenkins<!-文件用于描述,可选择项--> Sample build file for use with ant-jmeter.jar See http://www.programmerplanet.org/pages/projects/jmeter-ant-task.php
To run a test and create the output report:
    ant -Dtest=script

To run a test only:
    ant -Dtest=script run

To run report on existing test output
    ant -Dtest=script report

The "script" parameter is the name of the script without the .jmx suffix.

Additional options:
    -Dshow-data=y - include response data in Failure Details
    -Dtestpath=xyz - path to test file(s) (default user.dir).
                     N.B. Ant interprets relative paths against the build file
    -Djmeter.home=.. - path to JMeter home directory (defaults to parent of this build file)
    -Dreport.title="My Report" - title for html report (default is 'Load Test Results')
</description>

<property name="jmeter.home" value="${user.dir}"/>
<! --${user.dir}当前目录的意思,在此指向%JMETER_HOME%目录  -->
<property name="jmeter.home" value="${basedir}/.."/>
<property name="script.dir" value="${user.dir}/script">
<! --定义Jmeter的脚本存放目录,指向%JMETER_HOME%/script目录  -->
 <! --定义jmeter的测试结果存放目录,指向% JMETER_HOME%/result 目录 -->
<property name="jmeter.result"  value="${user.dir}/result"/>
<property name="report.title" value=" Performance Test Summary Report "/>

<!-- Name of test (without .jmx) -->

<! --定义测试结果名称 -->

<!-- Should report include response data for failures? -->
<! --测试报告中是否显示失败事务,n为不显示  -->
<property name="show-data" value="n"/>

<! --定义样式版本,有更新时只需要修改此处即可,其他调用处不用更改 -->

<condition property="style_version" value="_21">
    <equals arg1="${format}" arg2="2.1"/>
</condition>

<condition property="funcMode">
    <equals arg1="${show-data}" arg2="y"/>
</condition>

<condition property="funcMode" value="false">
  <not>
    <equals arg1="${show-data}" arg2="y"/>
  </not>
</condition>

<!-- Allow jar to be picked up locally -->

<! -- 定义依赖包目录 -->

<! -- {$basedir}指向当前目录,此bulib.xml所在的目录 -->

<! -- 把ant-jmeter字符开头的包.jar结尾的包引入进来,在此*一般是版本信息 -->



<! -- 定义任务,即测试活动,依赖于ant-jmeter.jar包 -->

<taskdef
    name="jmeter"
    classpathref="jmeter.classpath"
    classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>

<! -- 定义任务,一个是run,即运行脚本,一个是report,即生成报告 -->

<! -- 定义run任务 -->

<! --显示上面定义的${show-data}的取值 -->
funcMode = ${funcMode}
<! -- 删除前一次的测试报告,html格式的,上面有定义${test}变量的值-->


<jmeter
jmeterhome="${jmeter.home}"
<! -- 加载运行时设置,设置配置在jmeter.properties文件中 -->
jmeterproperties="${user.dir}/bin/jmeter.properties"
<! -- 是否进行远程执行 -->
runremote="true"
<! -- 测试结果保存目录 -->
resultlog="${jmeter.home}/result/${test}.jtl">
<! -- 制定测试脚本或者测试脚本所在的目录 -->
<! -- 如果是单一脚本,直接指定脚本名称,如果是执行多个脚本,指定脚本所在的目录 -->
<! -- 指定单脚本,名称是csveg1.jmx -->

<! --指定测试结果输出格式,在此指定的xml格式,也可以指定成文本格式以及CSV格式 -->
<! -- -->

        testplan ="${testpath}/${test}.jmx"
        resultlog="${testpath}/${test}.jtl">
    <!--
        <jvmarg value="-Xincgc"/>
        <jvmarg value="-Xmx128m"/>
        <jvmarg value="-Dproperty=value"/>
        <jmeterarg value="-qextra.properties"/>
    -->
        <!-- Force suitable defaults -->
        <property name="jmeter.save.saveservice.output_format" value="xml"/>
  <! --先暂且指定成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}"/>
    <! --是否记录错误信息,上面已经定义了 ${funcMode}=n -->
        <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
    </jmeter>
</target>

<! --定义依赖包目录-->

<!-- 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>

<! --定义report任务,此任务依赖于"xslt-report,copy-images" 这两个任务-->
<! --xslt-report是使用xslt来把xml文件转换成HTml格式来显示-->
<! --copy-images是用来copy图片,xslt模板中的图片由copy-images任务copy到报告目录-->

<target name="report" depends="xslt-report,copy-images">
    <echo>Report generated at ${report.datestamp}</echo>
</target>

<! --_massage_xalan被xslt-reportxslt依赖,由它生成报告-->


<xslt
classpathref="xslt.classpath"
force="true"
<! --测试结果输出-->
in="${jmete.home}/result/${test}.jtl"
out="${jmete.home}/result/${test}.html"
<! --xslt定义的模板文件地址-->
<! --即%JMETER_HOME%/extras/jmeter-results-detali-report_21.xsl-->
style="${basedir}/jmeter-results-detail-report${style_version}.xsl">





<! --生成html报告时需要copy图标到报告目录,expand.png展开图标,college.png收起图标-->





<! --判断${jmeter.home}与${basedir}是否指向同一目标-->





<! --检查依赖-->

<!-- Check that the xalan libraries are present -->
<condition property="xalan.present">
      <and>
          <!-- No need to check all jars; just check a few -->
        <available classpathref="xslt.classpath" classname="org.apache.xalan.processor.TransformerFactoryImpl"/>
        <available classpathref="xslt.classpath" classname="org.apache.xml.serializer.ExtendedContentHandler"/>
      </and>
</condition>

<target name="_message_xalan" unless="xalan.present">
      <echo>Cannot find all xalan and/or serialiser jars</echo>
    <echo>The XSLT formatting may not work correctly.</echo>
    <echo>Check you have xalan and serializer jars in ${lib.dir}</echo>
</target>

<! -仅仅打印前面定义的变量的值,检查是否如你所愿,在定义变量时作调试用,可以去掉--->
< echo>basedir= ${basedir}
< echo>jmeter.home = ${jmeter.home}

posted @   杨磊微信  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示