JMeter+Ant+jenkins集成


1.ant簡介

1.1 什么是ant?

JMeter: 編寫測試腳本

ant: 構建工具,執行測試腳本,並生成測試報告。Ant是一個功能強大的打包編譯工具。我們使用他的目的是將JTL(xml)格式文件轉化為html格式的文件

1.2 什么是構建

​ 概念到處可查到,形象來說,你要把代碼從某個地方拿來,編譯,再拷貝到某個地方去等等操作,當然不僅於此,但是主要用來干這個

1.3 ant的好處

跨平台 --因為ant是使用java實現的,所以它跨平台

​ 使用簡單--與ant的兄弟make比起來

語法清晰--同樣是和make相比

功能強大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。當你自己開發一些ant插件的時候,你會發現它更多的功能。

1.4 ant的兄弟make

ant做的很多事情,大部分是曾經有一個叫make的所做的,不過對象不同,make更多應用於c/c++ ,ant更多應用於Java。

2. 構建ant環境

1.去Apache官網上下載ant最新版,我下載的是apach-ant-1.9.1

2.下完之后解壓,放到一個目錄下面。我把它和jmeter都放在了D:\mysolution下

3.配置環境變量,與jmeter類似。 下面這些和你ant存放的路徑有關。

新建系統變量ANT_HOME,值D:\mysolution\apache-ant-1.9.1

系統變量CLASSPATH,值后面添加D:\mysolution\apache-ant-1.9.1\lib

系統變量Path,值后面添加D:\mysolution\apache-ant-1.9.1\bin

4.進入命令提示符,輸入ant,結果如下圖所示,"build.xml does not exist "說明ant配置成功

3.Jmeter與Ant集成

3.1 JMeter部分

1.將D:\apache-jmeter-5.0\extras文件夾下的ant-jmeter-1.1.1.jar這個jar包復制到D:\apache-ant-1.10.5\lib文件夾下

2.用記事本打開jmeter\bin\jmeter.properties,將

jmeter.save.saveservice.output_format=csv 改成jmeter.save.saveservice.output_format=xml,記得去掉前面的“#”

3.設置輸出內容,修改jmeter.properties文件

4.在JMeter腳本目錄創建build.xml文件,請根據實際情況進行配置。

<?xml version="1.0" encoding="UTF8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <!-- 需要改成自己本地的 Jmeter 目錄-->  
    <property name="jmeter.home" value="D:\mysolution\apache-jmeter-5.1.1" />
    <property name="report.title" value="JMeter接口測試報告"/>
    <!-- jmeter生成jtl格式的結果報告的路徑--> 
    <property name="jmeter.result.jtl.dir" value="D:\Jmeter\report\jtl" />
    <!-- jmeter生成html格式的結果報告的路徑-->
    <property name="jmeter.result.html.dir" value="D:\Jmeter\report\html" />
    <!-- 生成的報告的前綴-->  
    <property name="ReportName" value="APITestReport" />
	<tstamp> <format property="time" pattern="YYYYMMDD HHmmss" /></tstamp>
    <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:\Jmeter\script" 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-detail-report_21.xsl">
              <param name="dateReport" expression="${report.datestamp}"/>
              <param name="titleReport" expression="${report.title}:${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>

3.2 ant部分

1.運行ant,進入到build.xml所在目錄,運行ant。注也可以使用ant -buildfile build.xml來運行ant

運行結束后,如若出現SUCCESS信息,則表示運行成功可去對應目錄查看結果。部分運行結果信息如下:

   BUILD   SUCCESSFUL   Total   time: 9 seconds   

3.3 查看JMeter結果

此報告是\apache-jmeter-3.2\extras這個目錄下jmeter-results-detail-report_21.xsl這個樣式生成的報告

4. 報告優化

ant默認報告並不好看,出錯之后,很難從報告上去定位問題,定位問題在哪里,可進行優化。優化原理:其實由.jtl格式轉換為.html格式的報告過程中,style文件起了很關鍵的作用。

\1. 下載style文件:jmeter.results.shanhe.me.xsl

\2. 把下載的文件放到jmeter的extras目錄下。

\3. 修改build.xml文件如下部分,修改xsl樣式文件的文件名即可

\4. 運行結果:

5. jenkins持續集成

Jenkins是一個開源的、提供友好操作界面的持續集成(CI)工具,起源於Hudson(Hudson是商用的),主要用於持續、自動的構建/測試軟件項目、監控外部任務的運行(這個比較抽象,暫且寫上,不做解釋)。Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中運行,也可獨立運行。通常與版本管理工具(SCM)、構建工具結合使用。常用的版本控制工具有SVN、GIT,構建工具有Maven、Ant、Gradle。

簡而言之:Jenkins是實現持續集成平台腳本的定時運行、郵件發送、測試報告展示等

5.1 jenkins的安裝配置

jenkins下載地址:https://jenkins.io/zh/download/,下載windows版並安裝jenkins,安裝成功后會自動打開: http://localhost:8080 頁面,等待進入jenkins的配置頁面。

解鎖jenkins完成配置

關於插件的選擇,還是老套路,省事用安裝推薦的插件,高手自定義。

創建管理員用戶

實例配置

5.2 jenkins的使用

5.2.1 新建一個job

5.2.2 jenkin 配置中增加Ant插件

添加待構建的文件路徑,即Ant執行的build.xml文件路徑。

5.2.3 立即構建

5.2.4 構建觸發器

5.3 jenkins其他配置

5.3.1 丟棄舊的配置

服務器資源是有限的,有時候保存了太多的歷史構建,會導致Jenkins速度變慢,並且服務器硬盤資源也會被占滿。當然下方的"保持構建天數" 和 保持構建的最大個數是可以自定義的,需要根據實際情況確定一個合理的值。

5.3.2 郵件通知設置

5.4 構建結果說明

5.4.1 構建狀態

l Successful****藍色:構建完成,並且被認為是穩定的。

l Unstable****黃色:構建完成,但被認為是不穩定的。

l Failed****紅色:構建失敗。

l Disable****灰色:構建已禁用

5.4.2 構建穩定性

構建穩定性用天氣表示:晴、晴轉多雲、多雲、小雨、雷陣雨。天氣越好表示構建越穩定,反之亦然。

5.4.3 構建歷史界面

l console output****: 輸出構建的日志信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM