天天看點

jmeter+ant+jenkins接口測試及持續內建

此為Sunny 王苗苗同學的學習筆記,持續學習,持續分享,持續進步,向着大神之路前進~

1、安裝jdk

2、安裝Jmeter

3、安裝Ant

4、安裝Jenkins

5、Jenkins與Ant整合

1、安裝jdk

下載下傳exe檔案,一直下一步安裝即可

1)系統變量->建立 JAVA_HOME 變量

變量值輸入jdk的安裝目錄(比如: C:\Program Files\Java\jdk1.8.0_211)

2)系統變量->尋找 Path 變量->編輯

在最後輸入: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

3)系統變量→建立 CLASSPATH 變量

變量值輸入: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一點)

檢驗是否配置成功運作cmd 輸入: java –version,如圖所示顯示版本資訊,則說明安裝和配置成功。

jmeter+ant+jenkins接口測試及持續內建

2、安裝Jmeter

官網:http://jmeter.apache.org/download_jmeter.cgi

直接下載下傳zip包,解壓即可直接使用。

1) 系統變量->建立 JMETER_HOME 變量

變量值中輸入: D:\Sunny Wang\apache-jmeter-4.0,即jmeter安裝目錄

2) 系統變量->建立CLASSPATH變量

變量值中輸入:

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

3) 系統變量->尋找 Path 變量->編輯

在最後輸入:%JMETER_HOME%\bin

檢驗是否配置成功 運作cmd 輸入 jmeter -v ,如圖所示 顯示版本資訊則說明安裝和配置成功

jmeter+ant+jenkins接口測試及持續內建

3、安裝Ant

下載下傳安裝包,解壓即可使用

1)系統變量->建立 ANT_HOME變量

變量值輸入ant的安裝目錄(比如: D:\Sunny Wang\apache-ant-1.9.7)

2)系統變量->尋找 Path 變量->編輯

在最後輸入: ;%ANT_HOME%\bin

進入cmd指令視窗,在CMD視窗中輸入ant -version,敲擊回城鍵,會顯示出你安裝的ANT版本,如果成功顯示,說明你的配置應該是成功了

jmeter+ant+jenkins接口測試及持續內建

4、安裝Jenkins

下載下傳war包

1)打開windows指令行視窗,進到jenkins.war所在目錄,輸入java -jar jenkins.war,回車,等待安裝

jmeter+ant+jenkins接口測試及持續內建

2)建立一個start.bat檔案,輸入如下内容:

echo “Jenkins CI automation testting”

java -jar “D:\Sunny Wang\jenkins\jenkins.war” --httpPort=9091

pause

其中:D:\Sunny Wang\jenkins\jenkins.war是你自己的war包放置位址,注意路徑雙反斜杠。9091端口也可以修改為其他,後續啟動位址相應修改即可。

3)輕按兩下start.bat運作,啟動jenkins,有看到Jenkins is fully up and running說明jenkins啟動成功,輸入http://localhost:9091即可打開jenkins的UI界面。

4)找到jenkins初始密碼

打開http://localhost:9091後,按照界面提示打開相應檔案,找到初始密碼,一般為:C:\Users\sunny.wang.jenkins\secrets\initialAdminPassword

5)插件下載下傳

jenkins系統設定->管理插件->可選插件,分别搜尋Ant、Email Extension Plugin、

HTML Publisher plugin并立即安裝此插件,其他預設的我也沒去掉,都安裝了。

6)建立個使用者,不建也沒關系

5、Jenkins與Ant整合

  1. 将Jmeter目錄下extras子目錄裡的ant-jmeter-1.1.1.jar複制到ant所在目錄lib子目錄之下
  2. 修改Jmeter bin目錄下jmeter.properties檔案的配置:

    jmeter.save.saveservice.output_format=xml

  3. 工具檔案夾有提供“兩種報告樣式”檔案夾,分别其中jmeter.results.shanhe.me.xsl和jmeter-results-detail-report_21_TPS_90%_Received_OK.xsl兩個檔案拷貝到Jmeter目錄下extras子目錄裡
  4. 在jmeter目錄下建立jmeter_test檔案夾,在jmeter_test下建立scripts檔案夾,用于存放腳本build.xml
  5. 在jmeter_test下建立report檔案夾,再在report下建立jtl及html檔案夾,用于存放jtl檔案及測試報告。
  6. 修改build檔案内容。你需要準備一個jmeter的jmx檔案

示例如下:

<?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="D:\Sunny Wang\apache-jmeter-4.0" />
    <!-- jmeter生成jtl格式的結果報告的路徑--> 
    <property name="jmeter.result.jtl.dir" value="D:\Sunny Wang\apache-jmeter-4.0\jmeter_test\report\jtl" />
    <!-- jmeter生成html格式的結果報告的路徑-->
    <property name="jmeter.result.html.dir" value="D:\Sunny Wang\apache-jmeter-4.0\jmeter_test\report\html" />
    <!-- 生成的報告的字首-->  
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.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="D:\Sunny Wang\apache-jmeter-4.0\TEST" includes="unicom.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-detail-report_21.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>
           
  1. 設好jenkins全局工具配置

    前面jenkins下載下傳的插件下載下傳完成後,進入到系統管理,在全局工具配置中配置jdk及ant,寫上本地的位址即可

    jmeter+ant+jenkins接口測試及持續內建
    jmeter+ant+jenkins接口測試及持續內建
  2. 設好jenkins系統設定

    1、系統設定->Jenkins Locaction項填入Jenkins URL和系統管理者郵件位址,系統管理者郵件位址一定要配置,否則發不了郵件通知。因為郵件通知都是由系統管理者的郵箱發出來的

    jmeter+ant+jenkins接口測試及持續內建
    2、配置郵箱通知
    jmeter+ant+jenkins接口測試及持續內建
    jmeter+ant+jenkins接口測試及持續內建
  3. 配置Editable Email Notification ,設定發送的郵件模闆
    jmeter+ant+jenkins接口測試及持續內建
    内容模闆示例:
<!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">
   <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
       <tr>
           <td>(本郵件是程式自動下發的,請勿回複!)</td>
       </tr>
       <tr>
           <td>
               <h2> <font color="#0000FF">Hi All,  以下是jmeter接口自動化測試在Jenkins每次建構結果郵件通知!</font> </h2></td>
       </tr>
   	
       <tr>
           <td>
               <br/> <b><font color="#0B610B">建構資訊:</font></b>
               <hr size="2" width="100%" align="center" />
           </td>
       </tr>
       <tr>
           <td>
               <ul>
                   <li>項目名稱 : ${PROJECT_NAME}</li>
                   <li>建構編号 : 第${BUILD_NUMBER}次建構</li>
                   <li>觸發原因 : ${CAUSE}</li>                  
                   <li>建構位址 : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
               </ul>
           </td>
       </tr>            
       <tr>
           <td><b><font color="#0B610B">建構結果:</font></b>
               <hr size="2" width="100%" align="center" />
           </td>
       </tr>
   	<tr>
           <td>
                <ul>
   				<li>詳細報告 : <a href="${PROJECT_URL}HTML_20Report">${PROJECT_URL}HTML_20Report</a> &nbsp;見附件:DetailsReport.html(注意請使用浏覽器打開!)</li>
   				<li>總體報告 : <a href="${PROJECT_URL}HTML_20Report">${PROJECT_URL}HTML_20Report</a> &nbsp;見附件:SummaryReport.html(注意請使用浏覽器打開!)</li>		
               </ul>
           </td>
       </tr>
   	 <tr>
           <td><b><font color="#0B610B">建構日志 :</font></b>
               <hr size="2" width="100%" align="center" />
           </td>			
       </tr>
   	<tr>
           <td>
                <ul>
   				<li>日志位址 : <a href="${BUILD_URL}console">${BUILD_URL}console</a> &nbsp;</li>	
               </ul>
           </td>
       </tr>		
</body>

</html>

           
  1. 建立item-Freestyle project
    jmeter+ant+jenkins接口測試及持續內建
    jmeter+ant+jenkins接口測試及持續內建
    jmeter+ant+jenkins接口測試及持續內建
jmeter+ant+jenkins接口測試及持續內建

12. 立即建構

jmeter+ant+jenkins接口測試及持續內建

結果:

jmeter+ant+jenkins接口測試及持續內建

上文所需檔案打包在此

連結:https://pan.baidu.com/s/1m2MDvaSNd4XDqcNWOod4Tg

提取碼:ij05

jmeter+ant+jenkins接口測試及持續內建

備注:此文為參考飛測群裡的資料所完成,感謝群裡人員的分享。