linux下使用ant+Jmeter+Jenkins實現接口測試自動化

背景:後臺重構,藉此機會將所有接口實現自動化測試,並推送測試報告到郵箱

一.環境準備

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工程(僅列出構建和郵件,有其餘需要自行配置)

構建步驟:


郵件配置:


設置發送條件:





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章