Jmeter+ant+Jenkins構建接口自動化測試

一、已寫好jmeter腳本
二、安裝ant並將ant-jmeter-1.1.1.jar文件放入ant/lib目錄,用於調用jmeter
三、修改jmeter的jmeter.properties文件(將下面配置直接放入改文件):html

jmeter.save.saveservice.output_format=xml 
            jmeter.save.saveservice.data_type=true
            jmeter.save.saveservice.label=true
            jmeter.save.saveservice.response_code=true
            # response_data is not currently supported for CSV output
            jmeter.save.saveservice.response_data=true
            # Save ResponseData for failed samples
            jmeter.save.saveservice.response_data.on_error=false
            jmeter.save.saveservice.response_message=true
            jmeter.save.saveservice.successful=true
            jmeter.save.saveservice.thread_name=true
            jmeter.save.saveservice.time=true
            jmeter.save.saveservice.subresults=true
            jmeter.save.saveservice.assertions=true
            jmeter.save.saveservice.latency=true
            jmeter.save.saveservice.connect_time=true
            jmeter.save.saveservice.samplerData=true
            jmeter.save.saveservice.responseHeaders=true
            jmeter.save.saveservice.requestHeaders=true
            jmeter.save.saveservice.encoding=false
            jmeter.save.saveservice.bytes=true
            jmeter.save.saveservice.url=true
            jmeter.save.saveservice.filename=true
            jmeter.save.saveservice.hostname=true
            jmeter.save.saveservice.thread_counts=true
            jmeter.save.saveservice.sample_count=true
            jmeter.save.saveservice.idle_time=true

四、網上找個jmeter.results.shanhe.me.new.xsl包放入jmeter\extras目錄中:報告輸出模板express

五、新建一個TestCase(用於放測試腳本及報告和構建文件build.xml)apache

六、在TestCase新建report文件和build.xml文件,及將執行腳本放入TestCase文件中:
report文件新建HTML和JTL文件夾用於存放生成的html報告及jtl文件
build.xml文件內容以下:測試

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<!-- 須要改爲本身本地的 Jmeter 目錄-->  
<property name="jmeter.home" value="E:\apache-jmeter-5.0\apache-jmeter-5.0" />
<property name="report.title" value="接口測試"/>
<!-- jmeter生成jtl格式的結果報告的路徑--> 
<property name="jmeter.result.jtl.dir" value="E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase\report\JTL" />
<!-- jmeter生成html格式的結果報告的路徑-->
<property name="jmeter.result.html.dir" value="E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase\report\HTML" />
<!-- 生成的報告的前綴-->  
<property name="ReportName" value="TestReport" />
<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}">
        <!-- 聲明要運行的腳本"*.jmx"指包含此目錄下的全部jmeter腳本-->
        <testplans dir="E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase" 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.shanhe.me.new.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>

七、安裝Jenkiins 並構建jmeter腳本
在這裏插入圖片描述ui

在這裏插入圖片描述

構建環境選用調用ant,把剛配置好的構建文件build.xml路徑放到構建文件中,
再添加一個window批處理命令,用於刪除上次產生的jtl文件(做用:使報告不產生重複數據):
cd E:\apache-jmeter-5.0\apache-jmeter-5.0\bin
E:
del /s /Q E:\apache-jmeter-5.0\apache-jmeter-5.0\TestCase\report\JTL\TestReport.jtl
pause
在這裏插入圖片描述
構建後操做添加一個Publish Html report(插件自行下載)用於在jenkins上顯示報告,對應加上測試報告文件路徑及報告名稱
在這裏插入圖片描述url

新增一個構建後操做:郵件發送,Editable Email Notification
在這裏插入圖片描述spa

Default Content(報告樣式)可到網上本身找或本身寫一個:插件

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日誌</title></head>
  <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
    <div>
      <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
        <tr>
          <th align="center" colspan="2">
            <br />
            <h2>構建信息</h2></th>
        </tr>
        <tr>
          <td>
            <ul>
              <li>項目名稱 : ${PROJECT_NAME}</li>
              <br />
              <li>詳細測試報告 :
                <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
              <br />
               <li>說明:打開測試報告地址後請點擊HTML Report查看報告詳情</li>
              <br />
              <li>觸發緣由: ${CAUSE}</li>
              <br />
              <li>項目 Url :
                <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
              <br /></ul>
          </td>
          <td>${JELLY_SCRIPT,template="html"}
            <br/></tr>
        <tr>
          <td colspan="2" align="center">
            <br />
        </tr>
        <tr>
          <td colspan="2" align="center">
        </tr>
      </table>
    </div>
  </body>
</html>

八、Jenkins發送郵箱配置---系統配置:
在這裏插入圖片描述3d

Password爲郵箱客戶端受權密碼
Default Content:配置默認格式
在這裏插入圖片描述
在這裏插入圖片描述日誌

九、集成到釘釘發送釘釘提示信息:
系統配置-插件管理下載釘釘插件
十、在構建項目-配置中新增構建後操做添加釘釘機器人後複製對應的 token就能夠了:
在這裏插入圖片描述

十一、測試報告:
在這裏插入圖片描述

在這裏插入圖片描述

相關文章
相關標籤/搜索