jmeter+ant之build.xml文件解析优化

转载参考:https://blog.csdn.net/weixin_46457203/article/details/105860961

build.xml文件在其基础上进行二次更新和说明:

一、下面为更新后的build.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
  
    <target name="run">
    	   <antcall target="clear1" />
	<antcall target="test1" />
      	  <antcall target="report1" />
	<antcall target="sendmail1" />
    </target>
	
    <target name="test1">
		  <echo message="开始执行jmeter脚本..."></echo>
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="D:\apache-jmeter-5.4.1" resultlog="C:\Users\Administrator\Desktop\ant\result\ant_jmeter_test_report.jtl">
             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
            <testplans dir="C:\Users\Administrator\Desktop\ant\script" includes="*.jmx" />
		<property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
		
         <path id="xslt.classpath">
        <fileset dir="D:\apache-jmeter-5.4.1\lib" includes="xalan*.jar"/>
        <fileset dir="D:\apache-jmeter-5.4.1\lib" includes="serializer*.jar"/>
    </path>
	
    <target name="report1">
	<echo message="开始转换执行结果..."></echo>
	<tstamp> <format property="time" pattern="yyyy/MM/dd HH:mm" /></tstamp>
        <xslt classpathref="xslt.classpath"
              force="true"
	 in="C:\Users\Administrator\Desktop\ant\result\ant_jmeter_test_report.jtl"
              out="C:\Users\Administrator\Desktop\ant\html\ant_jmeter_test_report.html"
              style="D:\apache-jmeter-5.4.1\extras\jmeter-results-detail-report_21.xsl">
				<param name="titleReport" expression="测试报告"/> 
				<param name="dateReport" expression="${time}"/>  
       </xslt>  
   	             <!-- jmeter-results-detail-report_21  因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝--> 
        <copy todir="C:\Users\Administrator\Desktop\ant\html">
            <fileset dir="D:\apache-jmeter-5.4.1\extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>			
    </target>

		<target name="clear1">
	<!-- 每次执行前先删除清空jtl和html文件夹,释放空间 -->
		<echo message="释放空间,清空jtl和html文件夹中 ..."></echo>
		<delete dir="C:\Users\Administrator\Desktop\ant\result" />
		<delete dir="C:\Users\Administrator\Desktop\ant\html" />
		<!-- 删除单个文件-->
		<delete file="C:\Users\Administrator\Desktop\ant\ant_jmeter_test_report.rar" />
		<sleep seconds="2"/>  
		<echo message="释放完成 ..."></echo>
	</target>


	<target name="sendmail1">
	<!--把报告进行压缩打包-->
	<jar jarfile="C:\Users\Administrator\Desktop\ant\ant_jmeter_test_report.rar" basedir="C:\Users\Administrator\Desktop\ant\html"/>
	<!--把文件贴到邮件正文-->
	<loadfile property="html" srcFile="C:\Users\Administrator\Desktop\ant\html\ant_jmeter_test_report.html" encoding="UTF-8">
	<filterchain>
			<expandproperties />
		</filterchain>
	</loadfile>
	
	<mail mailhost="smtp.qq.com" 
	mailport="25" subject="邮件标题" 
	messagemimetype="text/html" tolist="收件邮箱1,收件邮箱2,收件邮箱3"
	user="发件邮箱" password="授权码(可在邮箱设置中找到)">
	<from address="发件邮箱"/>
	<!--发送附件-->
	<fileset dir="C:\Users\Administrator\Desktop\ant">
   		 <include name="ant_jmeter_test_report.rar"/>
  	 </fileset>
	<message><![CDATA[ 
	<p>项目组收:
			这是正文最前面(可任意填写邮件正文)
	</p>
	<pre> ${html} </pre>
	<p>"这是正文最后面(可任意填写邮件正文)"</p>
	]]></message>
	</mail>
	</target>
</project>

 二、build.xml可进一步优化项如下:(build.xml文件使用notepad++打开)

优化一:报告名称、压缩包名称变更
ant_jmeter_test_report(尾缀有.jtl,.html,.rar):报告名称、压缩包名称。(存在于第18行、第35行、第36行、第56行、第64行、第66行
、第79行)
PS:如果需要更改ant_jmeter_test_report名称时,尽量全部都同步更新,使用替换操作即可方便更换。

优化二:编写邮件标题
第73行:subject="邮件标题"

优化三:添加多个收件邮箱
第75行:tolist="设置多个收件邮箱,使用英文逗号隔开,注意只能在最外层有双引号"
例如:tolist="123@qq.com,456@qq.com,789@qq.com"

优化四:编写邮件正文内容
第82-86行:可以任意编写邮件正文内容。

三、注意①:第一行原本为<?xml version="1.0" encoding="GBK"?>,运行时发送的邮件显示为乱码,尝试更改为<?xml version="1.0" encoding="UTF-8"?>之后能正常显示。

       注意②:jmeter安装目录需要替换为自己本地的,例如我本地的jmeter安装目录为D:\apache-jmeter-5.4.1,使用替换操作全部替换即可。(存在于xml文件里面多个地方,同步全部替换掉,第一次出现在第18行)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值