<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project name="ant-jmeter" default="all">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<description>
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>
<!--user.dir 表示当前目录-->
<property name="testpath" value="${user.dir}"/>
<!--basedir 表示%jmeter_home% 地址-->
<property name="jmeter.home" value="${basedir}/.."/>
<!--测试报告的名字-->
<property name="report.title" value="Load Test Results"/>
<!-- Name of test (without .jmx) 定义测试,测试结果的名称-->
<property name="test" value="Test"/>
<!-- Should report include response data for failures? 测试报告中是否显示失败事务?value="n"表示不显示 -->
<property name="show-data" value="n"/>
<!--定义样式版本-->
<property name="format" value="2.1"/>
<!--定义jmeter脚本存放目录,指向%JMETER_HOME%/result-->
<property name="jmeter.result" value="${jmeter.home}/result"/>
<property name="script.dir" value="${jmeter.home}/script"/>
<property name="jmeter.result.jtlName" value="${jmeter.home}/result/${test}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.home}/result/${test}${time}.html" />
<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 定义依赖包-->
<path id="jmeter.classpath">
<!--这里的basedir 指的是 build.xml的目录-->
<fileset dir="${basedir}">
<!--把ant-jmeter开头的.jar包引入进来-->
<include name="ant-jmeter*.jar"/>
</fileset>
</path>
<!--定义任务,即测试任务,依赖于ant-jmeter.jar-->
<taskdef
name="jmeter"
classpathref="jmeter.classpath"
classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
<!--定义任务,一个是run,即运行脚本,一个report,即生成报告-->
<target name="all" depends="run,report"/>
<!--定义run-->
<target name="run">
<echo>funcMode = ${funcMode}</echo>
<!--删除前一次测试报告,HTML格式的,${test}的变量值-->
<!-- <delete file="${jmeter.home}/result/${test}.html"/>-->
<!--resultlog测试结果保存目录-->
<jmeter
jmeterhome="${jmeter.home}"
resultlog="${jmeter.result.jtlName}">
<!--指定测试脚本或者测试脚本所在目录-->
<!--如果是单一脚本,名称是TestSentence1.jmx-->
<testplans dir="${script.dir}" includes="TestSentence1.jmx"/>
<!--
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx128m"/>
<jvmarg value="-Dproperty=value"/>
<jmeterarg value="-qextra.properties"/>
-->
<!-- Force suitable defaults -->
<!--暂且定义为xml格式,后续会变成文本格式-->
<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}"/>
<!--是否定义错误信息,取决于${funcMode}-->
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
</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>
<!--定义report任务,此任务依赖于xslt-report,copy-images这两个任务-->
<!--xslt-report作用:把xslt转换成html-->
<!--copy-images作用:copy图片,xslt模板中图片由他来copy到目录-->
<target name="report" depends="xslt-report,copy-images">
<echo>Report generated at ${report.datestamp}</echo>
</target>
<!--_message_xalan被xslt-report依赖,由它生成报告-->
<target name="xslt-report" depends="_message_xalan">
<tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
<!--in测试结果作为输入-->
<!--style xstl模板地址-->
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${basedir}/jmeter-results-detail-report${style_version}.xsl">
<param name="showData" expression="${show-data}"/>
<param name="titleReport" expression="${report.title}"/>
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
</target>
<!-- Copy report images if needed 生成html报告需要拷贝图标到报告目录 expand.png展开图标,collapse.png收起图标-->
<target name="copy-images" depends="verify-images" unless="samepath">
<copy file="${basedir}/expand.png" tofile="${jmeter.home}/result/expand.png"/>
<copy file="${basedir}/collapse.png" tofile="${jmeter.home}/result/collapse.png"/>
</target>
<!--判断${testpath}和${basedir}是否是相同-->
<target name="verify-images">
<condition property="samepath">
<equals arg1="${jmeter.home}" arg2="${basedir}" />
</condition>
</target>
<!-- 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>
</project>
-
jmeter的build.xml
我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。 我要做一个自由又自律的人,靠势必实现的决心认真地活着。
来源:https://www.cnblogs.com/lixiuming521125/p/8150512.html
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比