搭建持續(xù)集成接口測試平臺(Jenkins+Ant+Jmeter)


Jenkins+Ant+Jmeter.png

一、Ant安裝

下載鏈接:https://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.9.9-bin.zi

下載成功后,將解壓的目錄復(fù)制到磁盤中,并且配置環(huán)境變量
1、ant_home:文件存放目錄
2、path:%ant_home%\bin
3、classpath:%ant_home%\lib
打開cmd,輸入ant -version驗(yàn)證


驗(yàn)證.png

二、連接ant和jmeter(注意點(diǎn))

1、將 jmeter的extras目錄中ant-jmeter-1.1.1.jar包拷貝至ant安裝目錄下的lib目錄中(將在)

2、如果安裝jmeter3.0的用戶在生成測試報(bào)告時數(shù)據(jù)為空,是由于extras目錄中jmeter-results-detail-report.xsl造成的,將jmeter2.1.3中的

 jmeter-results-detail-report_21.xsl文件復(fù)制到該目錄下,并在xml文件中指向該文件就可以解決空數(shù)據(jù)的問題了(聚合報(bào)告xsl)
2.png

3、生成的測試報(bào)告可能會有三個指標(biāo)顯示NAN,那么復(fù)制jmeter的lib目錄下的xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里,重新生成就會成功!

3-1.png

3-2.png

4、對于有時候會在ant運(yùn)行報(bào)錯編碼相關(guān)的問題:需要修稿jmeter的bin目錄下的jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml

5、對于生成詳細(xì)報(bào)告的測試數(shù)據(jù)需要在jmeter的bin目錄下的jmeter.properties文件的配置:

5.png

三、項(xiàng)目開始

1、利用jmeter可視化工具創(chuàng)建一個接口腳本,不細(xì)說
2、創(chuàng)建build.xml代碼:

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
     <tstamp>
         <format property="time" pattern="yyyyMMddhhmm" />
     </tstamp>
 
    <!-- 需要改成自己本地的 Jmeter 目錄-->  
    <property name="jmeter.home" value="F:\xxx\apache-jmeter-3.0" />
    <!-- jmeter生成jtl格式的結(jié)果報(bào)告的路徑--> 
    <property name="jmeter.result.dir" value="TestReport/results/TestReport_all/Report" />  
    <property name="jmeter.detail_result.dir" value="TestReport/results/TestReport_all/DetailReport" /> 
    <!-- 生成的報(bào)告的前綴-->    
    <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${jtl_Report}.jtl" /> 

    <!-- 生成整體的聚合報(bào)告--> 
    <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${time}.html" /> 
    <!-- 生成單個接口的詳細(xì)報(bào)告--> 

    <property name="jmeter.result.htmlName-detail" value="${jmeter.detail_result.dir}/${time}.html" /> 
     
    <target name="run">
         <echo message="start..."/>
         <antcall target="clean" />
         <antcall target="test" />
         <antcall target="report" />
         <antcall target="report_detail" />
     </target>
     
     <target name="clean">
         <mkdir dir="TestReport/results/TestReport_all/Report" />
         <mkdir dir="TestReport/results/TestReport_all/DetailReport" />
     </target>
         
     <target name="test">
         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
             <!-- 聲明要運(yùn)行的腳本"*.jmx"指包含此目錄下的所有jmeter腳本-->
             <testplans dir="F:\xxxx\apache-jmeter-3.0\demo" includes="*.jmx" />
             
             <property name="jmeter.save.saveservice.output_format" value="xml"/>
         </jmeter>
     </target>


     <!-- 生成整體的聚合報(bào)告--> 
     <target name="report">
         <xslt in="${jmeter.result.jtlName}"
               out="${jmeter.result.htmlName}"
               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /><!-- 生成整體的聚合報(bào)告的xsl文件--> 

         <!-- 因?yàn)樯厦嫔蓤?bào)告的時候,不會將相關(guān)的圖片也一起拷貝至目標(biāo)目錄,所以,需要手動拷貝 --> 
         <copy todir="${jmeter.result.dir}">
             <fileset dir="${jmeter.home}/extras">
                 <include name="collapse.jpg" />
                 <include name="expand.jpg" />
             </fileset>
         </copy>
     </target>

 

     <!-- 生成單個接口的詳細(xì)報(bào)告--> 

     <target name="report_detail">
         <xslt in="${jmeter.result.jtlName}"
               out="${jmeter.result.htmlName-detail}"
               style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" /><!-- 生成單個接口的詳細(xì)報(bào)告的xsl文件--> 
         <!-- 因?yàn)樯厦嫔蓤?bào)告的時候,不會將相關(guān)的圖片也一起拷貝至目標(biāo)目錄,所以,需要手動拷貝 --> 
         <copy todir="${jmeter.result.dir}">
             <fileset dir="${jmeter.home}/extras">
                 <include name="collapse.jpg" />
                 <include name="expand.jpg" />
             </fileset>
         </copy>
     </target>
 </project>

3、進(jìn)入cmd到build.xml文件目錄下,運(yùn)行ant成功生成測試報(bào)告
(1)聚合報(bào)告


3-3-1.png

2、詳細(xì)報(bào)告


3-3-2.png

四、配置jenkins

1、下載并安裝jenkins,沒改動的前提下默認(rèn)地址為:localhost:8080,輸入用戶名和密碼進(jìn)入jenkins首頁
點(diǎn)擊新建一個項(xiàng)目且進(jìn)入配置頁面,對于jmeter需要下載professional plungin
系統(tǒng)管理-----下載插件-----找到Performance plugin插件點(diǎn)擊下載,安裝成功后重啟服務(wù)成功

4.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容