一、實(shí)現(xiàn)邏輯步驟:
1、本機(jī)安裝ant;
2、jenkins中安裝ant插件;
3、創(chuàng)建ant的build.xml;
4、在jenkins的job 中的調(diào)用ant插件:
1)運(yùn)行build.xml
2)jenkins調(diào)用ant執(zhí)行jmeter腳本
3)并用ant生成測(cè)試報(bào)告;
4)將報(bào)告存儲(chǔ)到指定目錄;
5、E-mail插件(Editable Email Notification)
1)系統(tǒng)設(shè)置中配置郵件發(fā)送賬號(hào)、密碼、端口等;
2)job中配置郵件收件人、發(fā)送規(guī)則、郵件格式模板等;
6、報(bào)告插件(Publish HTML reports)
1)用于生成job中的html報(bào)告地址;
2)沒(méi)有這個(gè)插件也可以收到郵件推送的報(bào)告;因?yàn)閍nt已經(jīng)生成了html格式的報(bào)告;
1、Ant安裝配置
1.1 添加環(huán)境變量:ANT_HOME=D:\software\ant\apache-ant-1.10.1
在path中添加:%ANT_HOME%\bin
1.2 測(cè)試是否安裝成功
在cmd中輸入ant,如果出現(xiàn)如下提示表示安裝成功
1.3 配置ant調(diào)用jmeter
拷貝jmeter的jar包到ant目錄下
進(jìn)入jmeter安裝目錄下的extras文件夾,將ant-jmeter-1.1.1.jar拷貝至ant安裝目錄下的lib文件夾下,實(shí)現(xiàn)連接
創(chuàng)建一個(gè)build.xml文件,內(nèi)容如下:(此文件為ant配置文件,里面配置說(shuō)明如下)
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="_yyyy_MMdd_HHmmss" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目錄-->
<property name="jmeter.home" value="D:\TOOLS\apache-jmeter-5.4.1\apache-jmeter-5.4.1" />
<property name="report.title" value="接口測(cè)試"/>
<!-- jmeter生成jtl格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.jtl.dir" value="D:\TOOLS\apache-jmeter-5.4.1\apache-jmeter-5.4.1\build\report_smoke" />
<!-- jmeter生成html格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.html.dir" value="D:\TOOLS\apache-jmeter-5.4.1\apache-jmeter-5.4.1\build\report_smoke" />
<property name="detail" value="_detail" />
<!-- 生成的報(bào)告的前綴-->
<property name="ReportName" value="SmokeReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<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="D:\jenkinsHome\YYSQ" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<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-detail-report_21.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>
</project>
1.4 人工運(yùn)行命令通過(guò)ant調(diào)用jmeter:
進(jìn)入存放build.xml的目錄,運(yùn)行ant;ant會(huì)按照build文件配置的內(nèi)容,調(diào)用jmeter運(yùn)行;
生成測(cè)試報(bào)告,存放在指定的目錄;
如果build文件不是默認(rèn)的build.xml 運(yùn)行時(shí)需要指定文件名 ant -f build_smoke_report.xml
綜上所述,ant調(diào)用jmeter已經(jīng)成功,接下來(lái)我們希望集成到j(luò)enkins中,通過(guò)jenkins自動(dòng)觸發(fā);
2、Jenkins中配置ant
2.1 安裝ant插件
jenkins系統(tǒng)設(shè)置,插件管理中,搜索Ant Plugin ,下載即可;
2.2 配置build:安裝完成后,重啟jenkins,job中可以看到ant配置信息
此時(shí)就可以運(yùn)行job,會(huì)直接調(diào)用ant執(zhí)行jmeter腳本,且生成報(bào)告;
但是我們希望在jenkins中能看到ant生成的測(cè)試報(bào)告,那么接下來(lái)就進(jìn)行jenkins的報(bào)告安裝配置
3、jenkins的報(bào)告安裝配置
3.1 安裝Publish HTML reports
jenkins系統(tǒng)設(shè)置,插件管理中,搜索Publish HTML reports ,下載即可;
安裝完成后重啟jenkins,打開(kāi)job可以看到報(bào)告配置頁(yè)面;
build完成后,就可以在job中看到html報(bào)告了
截止當(dāng)前,咱們已經(jīng)完成了jenkins直接調(diào)用ant運(yùn)行jmeter。并且在jenkins中展示運(yùn)行的測(cè)試報(bào)告;
但是我們還不滿足,要是能自動(dòng)將測(cè)試報(bào)告發(fā)給團(tuán)隊(duì)小伙伴,發(fā)給領(lǐng)導(dǎo),那就完美了;
4、jenkins測(cè)試報(bào)告郵件推送
4.1 相關(guān)插件安裝
jenkins系統(tǒng)設(shè)置,插件管理中,搜索Editable Email Notification ,下載即可;
安裝完成后重啟jenkins,打開(kāi)job可以看到郵件配置頁(yè)面;
4.2 首先進(jìn)入系統(tǒng)管理,系統(tǒng)配置頁(yè)面,配置郵件賬戶信息
配置郵件服務(wù)器信息
配置管理員郵件賬號(hào)信息
郵件通知配置
配置完成后,可以發(fā)送測(cè)試郵件測(cè)試配置正確性
4.3 job中配置郵件模板
?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構(gòu)建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<h1 style="text-align:center;font-family:arial;color:green;font-size:35px;">《應(yīng)用授權(quán)接口自動(dòng)化測(cè)試報(bào)告》</h1>
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 13pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<h1 style="text-align:right">本郵件由系統(tǒng)自動(dòng)發(fā)出,無(wú)需回復(fù)!</h1><br/>
<h1 style="font-size:13px;">【構(gòu)建項(xiàng)目】: ${PROJECT_NAME } </h1></br>
<h1 style="font-size:13px;">【運(yùn)行環(huán)境】: 房開(kāi)測(cè)試環(huán)境</h1></br>
<td style="font-size:13px;color:red;">【構(gòu)建結(jié)果】 : ${BUILD_STATUS} </td>
</tr>
<tr>
<td><br />
<h1 style="font-size:13px;color:green">【構(gòu)建信息】</h1></br>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>項(xiàng)目名稱 : ${PROJECT_NAME}</li>
<li>構(gòu)建編號(hào) : 第${BUILD_NUMBER}次構(gòu)建</li>
<li>觸發(fā)原因: ${CAUSE}</li>
<li>構(gòu)建狀態(tài): ${BUILD_STATUS}</li>
<li>構(gòu)建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
</ul></br>
<h1 style="font-size:13px;color:green">【最近提交】</h1></br>
<hr size="2" width="100%" />
<ul>${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}</ul>
提交詳情明細(xì): <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/></br></br>
</td>
</tr>
</table>
</body>
</html>
${FILE,path="D:/TOOLS/apache-jmeter-5.4.1/apache-jmeter-5.4.1/build/report_smoke/SmokeRep
??總結(jié)
如果你對(duì)此文有任何疑問(wèn),如果你也需要接口項(xiàng)目實(shí)戰(zhàn),如果你對(duì)軟件測(cè)試、接口測(cè)試、自動(dòng)化測(cè)試、面試經(jīng)驗(yàn)交流感興趣歡迎加入我們,加入方式在文章的最后面
??自動(dòng)化測(cè)試相關(guān)教程推薦:
2023最新自動(dòng)化測(cè)試自學(xué)教程新手小白26天入門最詳細(xì)教程,目前已有300多人通過(guò)學(xué)習(xí)這套教程入職大廠??!_嗶哩嗶哩_bilibili
2023最新合集Python自動(dòng)化測(cè)試開(kāi)發(fā)框架【全棧/實(shí)戰(zhàn)/教程】合集精華,學(xué)完年薪40W+_嗶哩嗶哩_bilibili
測(cè)試開(kāi)發(fā)相關(guān)教程推薦
2023全網(wǎng)最牛,字節(jié)測(cè)試開(kāi)發(fā)大佬現(xiàn)場(chǎng)教學(xué),從零開(kāi)始教你成為年薪百萬(wàn)的測(cè)試開(kāi)發(fā)工程師_嗶哩嗶哩_bilibili
postman/jmeter/fiddler測(cè)試工具類教程推薦
講的最詳細(xì)JMeter接口測(cè)試/接口自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn)合集教程,學(xué)jmeter接口測(cè)試一套教程就夠了!!_嗶哩嗶哩_bilibili
2023自學(xué)fiddler抓包,請(qǐng)一定要看完【如何1天學(xué)會(huì)fiddler抓包】的全網(wǎng)最詳細(xì)視頻教程!!_嗶哩嗶哩_bilibili
2023全網(wǎng)封神,B站講的最詳細(xì)的Postman接口測(cè)試實(shí)戰(zhàn)教學(xué),小白都能學(xué)會(huì)_嗶哩嗶哩_bilibili
??總結(jié):
?光學(xué)理論是沒(méi)用的,要學(xué)會(huì)跟著一起敲,要?jiǎng)邮謱?shí)操,才能將自己的所學(xué)運(yùn)用到實(shí)際當(dāng)中去,這時(shí)候可以搞點(diǎn)實(shí)戰(zhàn)案例來(lái)學(xué)習(xí)。
???
???
如果對(duì)你有幫助的話,點(diǎn)個(gè)贊收個(gè)藏,給作者一個(gè)鼓勵(lì)。也方便你下次能夠快速查找。
如有不懂還要咨詢下方小卡片,博主也希望和志同道合的測(cè)試人員一起學(xué)習(xí)進(jìn)步
在適當(dāng)?shù)哪挲g,選擇適當(dāng)?shù)膷徫?,盡量去發(fā)揮好自己的優(yōu)勢(shì)。
我的自動(dòng)化測(cè)試開(kāi)發(fā)之路,一路走來(lái)都離不每個(gè)階段的計(jì)劃,因?yàn)樽约合矚g規(guī)劃和總結(jié),
測(cè)試開(kāi)發(fā)視頻教程、學(xué)習(xí)筆記領(lǐng)取傳送門!!
?
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-827112.html
?
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-827112.html
到了這里,關(guān)于如何實(shí)現(xiàn)搭建 JMeter + Jenkins + Ant 持續(xù)化?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!