環境
Centos 6.5 系統
Jmeter 2.13
ant 1.9.6 : 我們需要依靠ant 将生成的jtl檔案轉換成我們的html報告
步驟
- 配置好我們的環境變量,我這裡截個我的環境變量的圖吧,各位按照實際情況配置
Jmeter與Jenkins的內建 - 為了能夠在ant中使用jmeter task,必須将“ant-jmeter-1.1.1.jar”這個jar包放到ant的lib中去。這個jar包位置 jmeter的安裝目錄下的 extras 目錄中。
- 再來就是配置我們ant需要的build.xml檔案了 這個是關鍵。
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
# 聲明 Jmeter的Home路徑
<property name="jmeter.home" value="/home/cloud/jmeter/apache-jmeter-2.13" />
# 聲明生成的jtl的路徑
<property name="jmeter.result.jtl.dir" value="./jtl" />
# 聲明生成的html的路徑
<property name="jmeter.result.html.dir" value="./html" />
# 報告的名稱
<property name="ReportName" value="TestReport" />
# jtl的名稱
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
# 這裡聲明了兩個報告是因為采用了兩份報告的模闆
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
<property name="jmeter.result.htmlName2" value="${jmeter.result.html.dir}/${ReportName}2.html" />
<target name="all">
<antcall target="test" />
<antcall target="report" />
<antcall target="report2"/>
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
# 這句話一定要加上 否則話報錯類似于這樣的錯誤:TransformerException, Content is not allowed in prolog.
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<testplans dir="./" includes="*.jmx" />
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
# 報告采用的模闆
style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl" />
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<target name="report2">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName2}"
# 報告采用的模闆
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
關于新的測試報告的模闆可以參考這篇文章New XSL stylesheet for JMeter command line results report
-
再來就是配置我們的Jeknins了。
這裡就直接截個圖了。配置實際上是很簡單的東西的。
這裡執行的python腳本是為了進行重命名報告檔案的用處。因為發送郵件的時候我們需要将html的結果顯示在頁面上。是以需要指定一個名字,但是我們又不想後續生成的報告都覆寫之前的報告。是以這裡多了個重命名的操作。
報告的模闆的話,建議大家百度下。有個标準的模闆挺好用的。