背景:後臺重構,藉此機會將所有接口實現自動化測試,並推送測試報告到郵箱
一.環境準備
1.安裝Jmeter
wget "http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.tgz",鏡像地址可從官網找到
tar -zxvf apache-jmeter-4.0.tgz
配置環境變量(/etc/profile):
export JMETER_HOME=/usr/apache-jmeter-4.0/
CLASSPATH=.:$JMETER_HOME\lib\ext\ApacheJMeter_core.jar:$JMETER_HOME\lib\jorphan.jar:$JMETER_HOME\lib\logkit-1.2.jar
path:$JMETER_HOME/bin
修改$JMETER_HOME/bin/jmeter.properties 保存的數據格式爲xml,默認爲csv
jmeter.save.saveservice.output_format=xml
2.安裝JDK(略)
3.安裝ANT(略)
cp $JMETER_HOME/extras/ant-jmeter-1.1.1.jar $ANT_HOME/lib/
4.安裝Jenkins(使用tomcat啓動,略)
二.配置
1.build.xml示例
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <property name="basedirectory" value="/usr/apache-jmeter-4.0/extras" /> <!-- 需要改成自己本地的 Jmeter 目錄--> <property name="jmeter.home" value="/usr/apache-jmeter-4.0" /> <!-- jmeter生成jtl格式的結果報告的路徑--> <property name="jmeter.result.jtl.dir" value="${basedirectory}/report" /> <!-- jmeter生成html格式的結果報告的路徑--> <property name="jmeter.result.html.dir" value="${basedirectory}/report" /> <!-- Name of test (without .jmx) --> <property name="test" value="store_rebuild_api"/> <!-- 生成的報告的前綴--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" /> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <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}"> <!-- 指定要運行的腳本。"*.jmx"指包含此目錄下的所有jmeter腳本--> <testplans dir="/root/.jenkins/jobs/Interface_Test/workspace/jmx/" includes="*.jmx" /> </jmeter> </target> <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">
<!--設置報告模板-->
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
2.Jenkins郵箱配置(以QQ郵箱爲例)
Jenkins>系統管理>系統設置
3.配置Jenkins工程(僅列出構建和郵件,有其餘需要自行配置)
構建步驟:
郵件配置:
設置發送條件: