1. 在本地環境上搭建了jmeter+ant+jenkins環境,遇到郵件發不出的問題,解決辦法如下:
在ant的安裝包下的lib里加上四個jar包:mail-1.4.7.jar,commons-email-1.2.jar,activation.jar,ant-javamail.jar,見附件或者自行下載。
然後在build.xml中加上發郵件相關的:
<target name="sendEmail"> <mail from="你的郵箱" tolist="你的郵箱" mailhost="smtp.qq.com" mailport="25" user="你的郵箱" password="你的郵箱密碼" subject="${ReportName}${time}"> <message>接口測試報告</message> <p_w_uploads> <fileset dir="${jmeter.result.html.dir}"> <include name="*${time}.html"/> </fileset> </p_w_uploads> </mail> </target> 在執行的地方要加上: <target name="all"> <antcall target="sendEmail" /> </target>
這樣郵件就可以發出啦。
2. 發出郵件後,發現2個問題,一個問題是報告當中顯示了:Date report: date not defined
另一個問題是展開與收縮的按鈕沒展示出來,顯示破裂。
1》第一個問題解決方案是,在build.xml中加上一行(以下代碼中帶顏色的那行),加上後就會顯示成時間,前提是在build.xml中要定義time:
<tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp>
<target name="report">
<xslt
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >
<param name="dateReport" expression="${time}"/>
</xslt>
</target>
2》第二個問題,是因爲collapse.png和expand.png是存在本地的,所以在發出郵件後,拿不到圖片,將這兩張圖片傳到網上(qq空間,百度雲等等都可以,或者放公司的圖片服務器),將圖片地址複製下來,到jmeter安裝包的extras文件夾下,打開jmeter-results-detail-report_21.xsl進行編輯(編輯時發現無寫權限,可以先用chmod命令給出寫權限)。
改以下四個地方:
{ if(document.getElementById(details_id+"_p_w_picpath").src.match("這裏改爲collapse圖片的地址")) { document.getElementById(details_id+"_p_w_picpath").src = "這裏改爲expand圖片的地址"; expand(details_id); } else { document.getElementById(details_id+"_p_w_picpath").src = "這裏改爲collapse圖片的地址"; collapse(details_id); }
<td align="center"> <a href=""> <xsl:attribute name="href"><xsl:text/>javascript:change('page_details_<xsl:value-of select="position()" />')</xsl:attribute> <img src="這裏改爲collapse圖片的地址" alt="expand/collapse"><xsl:attribute name="id"><xsl:text/>page_details_<xsl:value-of select="position()" />_p_w_picpath</xsl:attribute></img> </a> </td>