1. 程式人生 > >Jenkins+Jmeter+Ant自動化環境搭建及報告生成

Jenkins+Jmeter+Ant自動化環境搭建及報告生成

搭建環境準備檔案

JDK:jdk1.8.0_141

Ant:apache-ant-1.10.1

Jmeter: apache-jmeter-3.2

Jenkins: jenkins-2.70

一.jdk安裝

1.系統變數→新建 JAVA_HOME 變數 。

變數值填寫jdk的安裝目錄(本人是 C:\Progrom Files\Java\jdk1.8.0_141);

2.系統變數→尋找 Path 變數→編輯

在變數值最後輸入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原來Path的變數值末尾有沒有;號,如果沒有,先輸入;號再輸入上面的程式碼)

3.系統變數→新建 CLASSPATH 變數

變數值填寫 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一點)

系統變數配置完畢

4.檢驗是否配置成功 執行cmd 輸入 java-version 

二.jmeter安裝

1.解壓apache-jmeter-3.2.zip到C:\software\apache-jmeter-3.2目錄下。

2.Jmeter外掛的安裝。解壓JMeterPlugins-Extras-1.3.0.zip、JMeterPlugins-Standard-1.3.0.zip,將對應ext目錄下的檔案拷貝到C:\software\apache-jmeter-3.2\lib\ext目錄下;

3.配置jmeter環境變數:

1)設定環境變數,新建系統變數在變數名中輸入:JMETER_HOME,變數值中輸入:C:\software\apache-jmeter-3.2,點選確定即可。

2)在環境變數CLASSPATH中添

加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

在環境變數Path中新增%JMETER_HOME%\bin
3)檢驗是否配置成功執行cmd 輸入 jmeter -v (jmeter和 -v 之間有空格)

若如圖所示顯示版本資訊 則說明安裝和配置成功。

三.安裝ANT

1.解壓apache-ant-1.10.1-bin.zip到C:\software\apache-ant-1.10.1目錄下;

2.配置Ant環境變數新建以下環境變數:

1)ANT_HOME:C:\software\apache-ant-1.10.1,此為你的ANT安裝路徑;

設定完成後,點選"確認"來儲存。

2)在環境變數PATH的最後面新增一下內容:

;%ANT_HOME%\bin 注意前面的分號,如果PATH中最後沒有分號";"的話要加上,有的話就可去除。

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

3.本地除錯使用ant構建執行Jmeter,並且生成jtl、Html報告;

)jmeter預設儲存的是.csv格式的檔案,所以我們先要設定一下bin/jmeter.properties檔案內容,修改jmeter.properties檔案 jmeter.save.saveservice.output_format=xml;

將apache-jmeter-3.2\extras\ant-jmeter-1.1.1.jar拷貝到apache-ant-1.10.1\lib目錄下;

在\apache-jmeter-3.2\extras目錄下開啟CMD,執行"ant.bat-file build.xml -Dtest=Test" . 檢視apache-jmeter-3.2\extras目錄下是否出現Test.jtl、Test.html檔案,若有,則構建成功。注意:Test.jmx是預設存在的Sample指令碼檔案。

若構建失敗,請分析cmd列印的日誌訊息,定位問題;

4.build.xml配置

1)找到extras目錄下build.xml檔案內容的如下部分:它的作用就是把生成的.jtl資料檔案轉換為.html格式的報告

具體屬性的含義:

in:生成的.jtl檔案的路徑

out:生成的.html檔案的路徑

style:從.jtl轉換成.html所使用的樣式,這些檔案也在extras目錄下,這個是最重要的部分,如果我們想定製報告可以自行定義這個檔案或者從網上找一些合適的檔案。

param:引數,這幾個引數可以在style中使用,下面會講到。

path:新增jar包的路徑,在下面的target中有引用到(下面第1行)。

 1   <pathid="xslt.classpath">   //jar路徑

 2         <fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>

 3         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>

 4   </path>

 5   //把生成的.jtl檔案轉換成.html格式的報告

 6   <targetname="report">

 7          <xslt

 8               classpathref="xslt.classpath"

 9               force="true"

10              in="${jmeter.result.jtlName}"out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">

11              <param name="showData"expression="${show-data}"/>

12              <param name="titleReport"expression="${ReportName}${time}"/>

13              <param name="dateReport"expression="${ReportName}${time}"/>

14         </xslt>

15  </target>

2)通過上面的分析,style 檔案是整成報告轉換的關鍵,那我們就開啟jmeter-results-detail-report_21.xsl(更美觀的報告jmeter.results.shanhe.me.xsl))這個檔案看看,找到如下幾行,這裡也定義了三個引數跟build.xml檔案中一樣,由此可猜測,我們只要在build.xml檔案中定義dateReport這個引數和值,在style中就可以按如下方式使用,經過測試證明猜測是正確的,那麼第一個問題就解決了:

1 <xsl:param    name="showData" select="'n'"/>

2 <xsl:param    name="titleReport" select="'LoadTest Results'"/>

3 <xsl:param    name="dateReport" select="'datenot defined'"/>

3)對於第二個問題,其實把第1步中的程式碼複製到我們自己的build.xml檔案中後,可以一併解決這兩個問題。解決第二個總是的關鍵程式碼是第8行和第9行:

  classpathref="xslt.classpath"

  force="true"

      而第8行又引用了第1~4行

4)到此,兩個問題都解決了,最終修改後的build.xml檔案如下,標黃的內容是解決時新增的程式碼 

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

<project name="JmeterTest"default="all" basedir=".">

   <tstamp>

       <format property="time" pattern="yyyyMMddhhmm"/>

   </tstamp>

   <!-- 需要改成自己本地的 Jmeter 目錄-->

   <property name="jmeter.home"value="C:\software\apache-jmeter-3.2" />

   <!-- jmeter生成jtl格式的結果報告的路徑 -->

   <property name="jmeter.result.jtl.dir"value="C:\software\apache-jmeter-3.2\resultlog\jtl" />

   <!-- jmeter生成html格式的結果報告的路徑-->

   <property name="jmeter.result.html.dir"value="C:\software\apache-jmeter-3.2\resultlog\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" />

   <!-- 接收測試報告的郵箱 -->

   <property name="mail_to" value="[email protected]"/>

   <!-- 電腦地址 -->

   <property name="ComputerName" value="大餅測試報告"/>

   <target name="all">

       <antcall target="testwbdata" />

       <antcall target="report" />

   </target>

   <target name="testwbdata">

       <taskdef name="jmeter"classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

       <jmeter jmeterhome="${jmeter.home}"resultlog="${jmeter.result.jtlName}">

           <!-- 宣告要執行的指令碼。"*.jmx"指包含此目錄下的所有jmeter指令碼 -->

           <testplans dir="C:\software\apache-jmeter-3.2\script"includes="wbdata.jmx" />

                            <propertyname="jmeter.save.saveservice.output_format" value="xml"/>

       </jmeter>

   </target>

  <!--

   <target name="quanneng">

       <taskdef name="jmeter"classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

       <jmeter jmeterhome="${jmeter.home}"resultlog="${jmeter.result.jtlName}">-->

           <!-- 宣告要執行的指令碼。"*.jmx"指包含此目錄下的所有jmeter指令碼 -->

    <!--         <testplansdir="/softDefault/apache-jmeter-3.2/plt_quanneng_20170830_授信申請_lc/script"includes="*.jmx" />

       </jmeter>

   </target>-->

   <path id="xslt.classpath">

      <fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>

      <fileset dir="${jmeter.home}/lib"includes="serializer*.jar"/>

   </path>

   <target name="report">

         <!--

       <xslt

                classpathref="xslt.classpath"

           force="true"

                in="${jmeter.result.jtlName}"out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" >

                <paramname="showData" expression="${show-data}"/>

         <param name="titleReport"expression="${ReportName}${time}"/>

         <param name="dateReport"expression="${ReportName}${time}"/>

       </xslt>

                   -->

                   <xslt

                classpathref="xslt.classpath"

           force="true"

                in="${jmeter.result.jtlName}"out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">

                <paramname="showData" expression="${show-data}"/>

         <param name="titleReport"expression="${ReportName}${time}"/>

         <param name="dateReport"expression="${ReportName}${time}"/>

        </xslt>

       <!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 -->

       <copy todir="${jmeter.result.html.dir}">

           <fileset dir="${jmeter.home}/extras">

                <includename="collapse.png" />

                <include name="expand.png"/>

           </fileset>

       </copy>

   </target>

   <!-- 傳送郵件 -->

</project>

四.jenkins部署

1)將war包放到tomcat的webapps

2)執行tomcat/bin下的startup.sh會在webapps下生成jenkins檔案

2.配置jenkins


3)選擇專案->配置新增標籤和build.xml路徑

其中targets標籤對應的build.xml如下圖

 

.報告輸出

1.上述整合jenkins輸出的報告,主要通過build.xml呼叫jmeter.results.shanhe.me.xsl檔案格式輸出

2.Jmeter3.0後自帶圖形格式報告,只能通過命令列輸出

jmeter -n -tC:\software\apache-jmeter-3.2\script\wbdata.jmx -l result.jtl -e -oC:\software\apache-jmeter-3.2\resultlog\html\testHTML

1)     C:\software\apache-jmeter-3.2\script\wbdata.jmx指令碼路徑

2)     result.jtl日誌檔案存放在C:\software\apache-jmeter-3.2\bin(每次執行名字不能重複)

3)     C:\software\apache-jmeter-3.2\resultlog\html\testHTML報告輸出路徑

報告輸出樣圖

jmeter-results-detail-report_21.xsl


jmeter.results.shanhe.me.xsl


命令列輸出預設報告


相關推薦

Jenkins+Jmeter+Ant自動化環境搭建報告生成

搭建環境準備檔案 JDK:jdk1.8.0_141 Ant:apache-ant-1.10.1 Jmeter: apache-jmeter-3.2 Jenkins: jenkins-2.70 一.jdk安裝 1.系統變數→新建 JAVA_HOME 變數 。 變數值填寫j

jmeterJmeter介面HTML視覺化測試報告——Jenkins+Jmeter+Ant自動化整合環境搭建

目錄 一、環境搭建 二、檔案下載 三、檔案配置 四、本地除錯 五、建立.bat檔案 六、Jenkins配置郵件 七、配置測試專案 八、自動部署成功校檢 九、jmeter儀表盤HTML報告自動化構建 一、環境搭建 (1)不做整合,只在本機生成報告

Jenkins + Jmeter +Ant自動化集成環境搭建(一)

.org 中間件 進入 java項目 解決方案 jenkins ont sta nbsp 所需工具 一、jmeter 工具下載 https://jmeter.apache.org/ 配置環境JDK等及各種插件可以看小七之前的教程 二、Ant安裝(http://ant.ap

Jenkins+Jmeter+Ant自動化整合環境搭建

Jenkins + Jmeter +Ant自動化整合環境搭建 軟體測試技術交流群 : 429183023  2017-03-24更新,部分網友反映build.xml檔案設定有問題,之前版本的blog的確是沒有貼出來具體的build設定,此次更新已經給出參考配置 注意:

十:搭建Jenkins+Jmeter+Ant自動化整合環境(4)---新增郵件傳送功能

1、在系統設定中找到Jenkins Locaction項填入Jenkins URL和系統管理員郵件地址,系統管理員郵件地址一定要配置,否則發不了郵件通知。因為郵件通知都是由系統管理員的郵箱發出來的2、按照上圖配置的同時,要去自己的開啟SMTP服務,並生成授權碼3、1-2步完成

jenkins+ant+jmeter自動化環境搭建(一)

什麽 bsp put show e-mail ram 1.0 哪裏 miss 寫在最前面: jmeter:測試接口的工具,支持java語言; ant:Apache Ant是一個Java庫和命令行工具,其任務是將構建文件中描述的進程作為

Windows下搭建Jenkins+Jmeter+Ant 自動測試環境

jmeter1.JDK \Jmeter \ Ant安裝:1.1. 安裝JDK:雙擊jdk-7u80-windows-x64.exe安裝,默認安裝到C:\ProgramFiles\Java目錄1.2. 安裝Jmeter:在我的電腦—E盤(建議與文檔保持一致,否則需要修改配置文件),新建apa

Jmeter3.1、AntJenkins接口自動化平臺搭建步驟;所遇問題解決方案

oracle 不兼容 網頁 href variable lan sign 停止 進行 Win下Jenkins+Jmeter+Ant自動化集成環境搭建 環境:win10 涉及:Jdk1.7.0_80、Jenkins2.60.3、Jmeter3.1、Ant1.9.9 步驟: 1

Win10系統Jmeter+maven+Jenkins介面自動化環境搭建(一)

Jmeter+maven+Jenkins實現介面自動化,需要使用idea或eclipse配置maven專案,這裡我使用的是idea。具體步驟如下: 1、安裝jmeter+jdk jmeter安裝之前需先安裝JDK,JDK下載地址:https://www.oracle.com/technetwork/java/

APPIUM環境搭建APP配合RF自動化的操作步驟

adb ice -a 業務流程 jre 端口號 圖片 ins pan 在用APPIUM做APP自動化測試過程中,首先碰到的問題就是環境搭建. 過程相對於WEB端自動化來說,搭建過程稍微復雜些,但是appium與WEB端的selenium原理相差不多. 二者在robotfra

Jenkins+Jmeter+ant介面自動化整合

一、準備工作 Jmeter下載地址:http://jmeter.apache.org/download_jmeter.cgi Ant下載地址:https://ant.apache.org/bindownload.cgi Jenkins下載地址:https://jenkins.io/downl

Jenkins環境搭建使用

一、Jenkins介紹和初始化配置 1、Jenkins的作用。 視覺化管理伺服器 持續構建,可以直接去svn或者git上拉取程式碼並下發到伺服器上 視覺化ansible 2、Jenkins監聽埠8080 nohup java -jar jenkins.war &am

Ubuntu下搭建Appium+python自動化環境記錄遇到的錯誤記錄

     系統:Ubuntu 18.04.1 LTS   64位 搭建環境前準備     1.JDK 8安裝     2.android-sdk_r24.3.4-linux  

三:搭建Jenkins+python介面自動化環境

接下來,就應該實際使用jenkins平臺了。本文將以python指令碼為例,描述如何建立一個任務,定時觸發執行py指令碼。1.準備好需要執行的py指令碼2.既然要執行py指令碼,那計算機就必須現有python環境https://www.python.org/下載python,

python+selenium自動化環境搭建之後,能打開firefox,卻不能執行自動化操作

drive 環境 軟件 能夠 也會 files ram com 工具 python+selenium自動化環境搭建之後,選擇執行,能夠打開firefox,但是卻不能繼續執行後續操作。原因是selenium的版本與firefox的版本不兼容。 解決辦法: 1.將firefox

NDK在windows下的開發環境搭建開發過程

刷新 -1 ont static blog 簡單 包名 mfp targe 在Android應用的開發project中。無論是遊戲還是普通應用。都時常會用到.so即動態鏈接庫,關於.so是什麽玩意兒,有什麽優點。這個大家能夠在網上查一下,本人不做過多解釋。.

maven的環境搭建使用

技術分享 信息 幫助 解壓 使用 project 打印 jdk版本 規範 maven的環境搭建及使用 一、maven介紹及作用 maven是一個項目構

python+selenium自動化環境搭建

python+selenium1、下載python安裝。  https://www.python.org/downloads/release/python-351/ 根據自己的操作系統32/64 位,選擇相應的版本。安裝過程我就沒必要描述,我的安裝目錄為:C:\Python35 2、進入cmd(window

Ubuntu下kafka集群環境搭建測試

delet 指定 文件中 新增 img --delete replicat pro alt 1,解壓 root@Ubuntu-1:/usr/local# tar zxvf kafka_2.11-0.8.2.2.tgz 2,重命名 root@Ubuntu-1:/usr/

Jenkins+Jmeter+Ant持續集成

ssp 管理 shell 提示 expr 風格 jmx workspace amp Jenkins+Jmeter+Ant持續集成 前期準備: 1、Jdk1.6或以上:http://www.oracle.com/technetwork/java/jav