解析Jmeter脫離Jenkins后Ant集成郵件通知問(wèn)題
之前搭建在本地的Jenkins環(huán)境,由于重裝系統(tǒng)的原因,環(huán)境不能用了。在用jmeter做測(cè)試的時(shí)候,索性用本地ant構(gòu)建,運(yùn)行下來(lái)也一樣平穩(wěn)。
結(jié)合Jenkins搭建環(huán)境,可以參考博文:Jenkins環(huán)境搭建(2)-搭建jmeter+ant+jenkins自動(dòng)化測(cè)試環(huán)境
我們言歸正傳,今天來(lái)講下本地的ant構(gòu)建并發(fā)送郵件。配置下來(lái)挺順利也挺簡(jiǎn)單的,我們來(lái)細(xì)看。
配置ant環(huán)境
這個(gè)配置在上面的博文有詳細(xì)步驟,所以在這里就不細(xì)說(shuō)了,直接跳過(guò)。沒(méi)有配置過(guò)的,參考上面博文即可。
配置jmeter.properties
在jmeter的bin目錄下,找到j(luò)meter.properties
- 將
jmeter.save.saveservice.output_format
取消注釋,并且修改值為xml
- 將
jmeter.save.saveservice.XXX
取消注釋,并且修改值為true
配置ant jar包
將jmeter的extras目錄下的 ant-jmeter-1.1.1.jar
復(fù)制到ant的lib目錄下
配置build文件
在jmeter的extras目錄下,找到build.xml文件,增加郵件配置信息。build文件改造如下所示:
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddHHmmss" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目錄--> <property name="jmeter.home" value="jmeter地址" /> <property name="mail_host" value="smtp.qq.com"/> <property name="mail_port" value="465"/> <property name="mail_username" value="發(fā)件人郵箱"/> <property name="mail_password" value="發(fā)件人郵箱授權(quán)碼"/> <property name="mail_from" value="發(fā)件人郵箱"/> <property name="mail_to" value="收件人郵箱,多個(gè)以,隔開(kāi)"/> <property name="mail_cc" value="抄送人郵箱,多個(gè)以,隔開(kāi)"/> <property name="mailsubject" value="郵件標(biāo)題"/> <property name="message" value="郵件內(nèi)容"/> <!-- jmeter生成jtl格式的結(jié)果報(bào)告的路徑--> <property name="jmeter.result.jtl.dir" value="${jmeter.home}\report\jtl" /> <!-- jmeter生成html格式的結(jié)果報(bào)告的路徑--> <property name="jmeter.result.html.dir" value="${jmeter.home}\report\html" /> <!-- 生成的報(bào)告的前綴--> <property name="ReportName" value="測(cè)試報(bào)告名稱" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <target name="run"> <echo message="開(kāi)始運(yùn)行"/> <antcall target="test" /> <echo message="腳本運(yùn)行結(jié)束"/> <antcall target="report" /> <echo message="生成測(cè)試報(bào)告"/> <antcall target="sendEmail"/> <echo message="發(fā)送郵件"/> </target> <!-- 執(zhí)行接口測(cè)試 --> <target name="test"> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 聲明要運(yùn)行的腳本。"*.jmx"指包含此目錄下的所有jmeter腳本--> <testplans dir="${jmeter.home}\report" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <!-- 解決報(bào)告中NAN字段顯示問(wèn)題--> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <target name="report"> <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl"> <!--style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl">--> <!-- 修改自己本地存在的樣式文件名 --> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <!-- 因?yàn)樯厦嫔蓤?bào)告的時(shí)候,不會(huì)將相關(guān)的圖片也一起拷貝至目標(biāo)目錄,所以,需要手動(dòng)拷貝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> <target name="sendEmail"> <mail mailhost="${mail_host}" ssl="true" user="${mail_username}" password="${mail_password}" mailport="${mail_port}" subject="${mailsubject}" messagemimetype="text/html" tolist="${mail_to}" cclist="${mail_cc}"> <from address="${mail_from}" /> <attachments> <fileset dir="${jmeter.result.html.dir}"> <include name="${ReportName}${time}.html" /> <!--<include name="collapse.png" /> <include name="expand.png" />--> </fileset> </attachments> <message> ${message} </message> </mail> </target> </project>
引用jar包
將下載的jar包放到 ant安裝路徑下的 \lib 目錄下
ant構(gòu)建
配置好后,到build文件所在目錄,執(zhí)行ant命令就可以正常構(gòu)建了。
dos窗口執(zhí)行成功,如下所示:
同時(shí)郵箱收到對(duì)應(yīng)的郵件,如下所示:
任務(wù)計(jì)劃
功能配置完成,手動(dòng)構(gòu)建功能正常后。跟jenkins對(duì)比還差點(diǎn),畢竟需要手動(dòng)構(gòu)建。
那如何達(dá)到自動(dòng)運(yùn)行的效果呢?
可以創(chuàng)建bat腳本,并創(chuàng)建任務(wù)計(jì)劃來(lái)解決。
配置bat腳本如下:
@echo off echo "start" call ant -f "build.xml文件路徑" echo "end"
配置bat腳本后,再到我的電腦>右鍵管理>任務(wù)計(jì)劃程序庫(kù)>創(chuàng)建任務(wù)即可。
這樣就解決了腳本不會(huì)自動(dòng)執(zhí)行的問(wèn)題了。
總結(jié)
個(gè)人覺(jué)得,可以用jenkins的情況下,自然是用jenkins好,畢竟可擴(kuò)展的插件也很多。
但ant本地構(gòu)建,只是寫(xiě)小腳本的話,還是蠻方便的,比如配置郵件方式也挺便捷。
最終看各自所需了。
到此這篇關(guān)于Jmeter脫離Jenkins后Ant集成郵件通知的文章就介紹到這了,更多相關(guān)Jmeter?Jenkins?Ant集成郵件通知內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java如何實(shí)現(xiàn)socket連接方法封裝
這篇文章主要介紹了java實(shí)現(xiàn)socket連接方法封裝教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09SpringBoot實(shí)現(xiàn)統(tǒng)一封裝返回前端結(jié)果集的示例代碼
在實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中,我們經(jīng)常將返回?cái)?shù)據(jù)的基本形式統(tǒng)一為JSON格式的數(shù)據(jù)。但項(xiàng)目可能是由很多人開(kāi)發(fā)的,所以我們最好將返回的結(jié)果統(tǒng)一起來(lái)。本文介紹了SpringBoot實(shí)現(xiàn)統(tǒng)一封裝返回前端結(jié)果集的示例代碼,需要的可以參考一下2022-06-06Feign?日期格式轉(zhuǎn)換錯(cuò)誤的問(wèn)題
這篇文章主要介紹了Feign?日期格式轉(zhuǎn)換錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-032024.1.2 安裝JDK和Eclipse并配置java編譯環(huán)境的過(guò)程
這篇文章主要介紹了2024.1.2 安裝JDK和Eclipse并配置java編譯環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01IntelliJ IDEA下載GitHub私有倉(cāng)庫(kù)到本地的方法(新版)
這篇文章主要介紹了IntelliJ IDEA下載GitHub私有倉(cāng)庫(kù)到本地(新版),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Mybatis插入Oracle數(shù)據(jù)庫(kù)日期型數(shù)據(jù)過(guò)程解析
這篇文章主要介紹了Mybatis插入Oracle數(shù)據(jù)庫(kù)日期型數(shù)據(jù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09