Jmeter Ant Task如果报告中有错误,在邮件内容里面直接显示出来 系列1
ANT调用的XML文件,包括运行脚本、生成报告、发送邮件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <?xml version= "1.0" ?> <project name= "morningstar" default = "all" basedir=".\"> <property name= "JMeter.home" value=".\..\..\..\"/> <property name= "mail_to" value= "test.hu@qq.com,test.li@qq.com,test.bai@163.com" /> <property name= "to_me_only" value= "test.zhang@163.com" /> <tstamp> <format property= "time" pattern= "yyyyMMddhhmm" /> </tstamp> <target name= "all" > <antcall target= "runClient" /> <antcall target= "transferAll" /> <antcall target= "transferFailure" /> <antcall target= "sendEmail" /> </target> <target name= "runClient" depends= "" > <taskdef name= "jmeter" classname= "org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome= "${JMeter.home}" resultlog= "${basedir}/Result/CIMAutoTestReport${time}.jtl" > <testplans dir= "${basedir}\Script\SmokeTest" includes= "CIM_ClientProspect_SmokeTest_TP.jmx" /> </jmeter> </target> <target name = "transferAll" depends = "" > <xslt in= "${basedir}/Result/CIMAutoTestReport${time}.jtl" out= "${JMeter.home}/extras/CIMAutoTestReport${time}.html" style= "${JMeter.home}/extras/JMeter-results-detail-report_21.xsl" /> </target> <target name = "transferFailure" depends = "" > <xslt in= "${basedir}/Result/CIMAutoTestReport${time}.jtl" out= "${JMeter.home}/extras/CIMAutoTestReport${time}_failure.html" style= "${JMeter.home}/extras/JMeter-results-detail-report_21_failure.xsl" /> </target> <target name= "sendEmail" > <mail mailhost= "internalmail.test.com" mailport= "25" subject= "CIM SmokeTest Report!" messagefile= "${JMeter.home}/extras/CIMAutoTestReport${time}_failure.html" messagemimetype= "text/html" tolist= "${mail_to}" > <from address= "jenny.zhang@test.com" /> <fileset dir= "${JMeter.home}/extras/" > <!-- <include name= "CIMAutoTestReport${time}.html" /> --> <include name= "expand.png" /> </fileset> <!-- <message>This email was sent automatically by ANT. <br /> Please check the automation test report by the link below. <br /> If there are any questions, please contact with Jenny Zhang. Thank you! <br /><br /> http: //SZCOMPUTER/CIMAutoTestReport${time}.html </message> --> </mail> </target> </project> |
其次,在D:\apache-jmeter-2.7\extras目录复制一份jmeter-results-detail-report_21.xsl,将其命名为jmeter-results-detail-report_21_failure.xsl,修改两个地方,一个是154行左右的地方:
<xsl:template name="summary"> <h2>Test Report Link</h2> <h2>http://SZOTWIN2K801/CIMAutoTestReport${time}.html</h2> <h2>Summary</h2>
添加了两行:
<h2>Test Report Link</h2> <h2>http://SZOTWIN2K801/CIMAutoTestReport${time}.html</h2>
另外一个地方是大概230行左右的地方,改成下面这样:
<xsl:for-each select="/testResults/*[attribute::s='false']">
原来是这样的:
<xsl:for-each select="/testResults/*[not(@lb = preceding::*/@lb)]">
这样运行之后,如果有失败的,发出来的邮件就会是这样的:
如果全部成功,发出来的邮件就会是这样的:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现