jmeter+ant+jenkins 簡單瞭解

嗯 最開始看 真的是一頭霧水不知道從哪裏下手 安裝好的jenkins也又給卸載了,後來一篇博客對我的影響挺大的

簡單說,就是 先學習  jmeter+ant 然後再集成到jenkins平臺。哎 還是經驗不夠啊

吶 先放上這篇博客的鏈接點擊打開鏈接

1.首先寫jmeter腳本

這是對  獲取驗證碼--登錄--查看個人中心--修改個人資料--退出--自動登錄   一個業務流用Jemter進行壓力測試。

這裏最後一個 是我我故意寫錯的請求,後面會用到。

順便說一下,由於 登錄需要第一個請求的驗證碼,但是驗證碼又不在服務器返回的數據裏所以不能通過正則提取。在這裏

我通過一個Cookie管理器,然後一個寫死的驗證碼來進行登錄這一步。


2.看一下我的jmeter的文件保存地址,裏面都有些什麼

report:這個是通過ant把JMeter的 .jmx文件 轉化爲xtml和jtl文件後 的文件夾,但是我這個文件夾裏面是空的,我通過下面的那個build.xml把上述兩個文件放到了 jenkins的文件路徑下了 

build.xml : ant的build 執行文件,通過修改這個文件來進行一些ant的配置

獲取手機驗證碼.jmx  : 就是 第一步 寫的JMeter腳本文件

3.JMeter+ant

其實如果看過我最上面給出的大神鏈接,我一下說的基本都是廢話

a.下載安裝JMeter,並且會一些基本操作和使用

b.下載安裝好ant,配置好了環境 ,確定在命令框 輸入 ant -version  會出現ant的版本信息 

c.看好 第二步  文件夾把 JMeter腳本文件.jmx 和 build.xml 放到一起 然後下面給出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="D:\JMeter\apache-jmeter-3.2" />
    <!-- jmeter生成jtl格式的結果報告的路徑   此處爲jenkins持續集成 D:\Jenkins\jenkins-sys\workspace\report\ --> 
   <!-- <property name="jmeter.result.jtl.dir" value="D:\JMeter\apache-jmeter-3.2\workSp\report\jtl" /> -->
<property name="jmeter.result.jtl.dir" value="D:\Jenkins\jenkins-sys\workspace\report\jtl" />
    <!-- jmeter生成html格式的結果報告的路徑  -->
   <!-- <property name="jmeter.result.html.dir" value="D:\JMeter\apache-jmeter-3.2\workSp\report\html" /> -->
<property name="jmeter.result.html.dir" value="D:\Jenkins\jenkins-sys\workspace\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:\JMeter\apache-jmeter-3.2\workSp" includes="*.jmx" />


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


        </jmeter>
    </target>
    
<!-- 此處添加的代碼是爲了解決ant生成的html,jmeter報告中MinTime和MaxTime沒有數據的情況
<path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path> 
classpathref="xslt.classpath"
     force="true"
<param name="dateReport" expression="${report.datestamp}"/>
-->
<path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.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-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>



看到這裏知道爲什麼我上一步說,report那個文件夾是空的吧。爲了集成jenkins就把JMeter生成的兩個文件放到了 jenkins的文件路徑下了 。這個 build.xml 很總要 可以多看幾遍有註釋也可以多參考別人的。比如最上面放的那個鏈接。


 好了,然後 再命令框 進入當放build.xml和Jmeter的.jmx 路徑下 輸入 ant,如下圖:




可以看到我的兩個.jmx 已經被build succsessful

然後進入  上面寫的結果報告路徑看看一下


吶,一個html 一個jtl.都全了。

首先看看 html裏面的內容 :

裏面有我別的東西,被圈的就是 我們上面生成的 再打開來樓一眼:

是不是看着很舒服,幾個http請求都有了,紅色報錯的就是我jmeter裏面故意寫的那個錯誤請求,爲了又一個好的對比效果。

---------------------------------------這一步好長 來個分割線-------------------------------------------------------------

下面看 .jtl 文件

我直接打開了對應的jtl 文件,大家看一下。猛一看是不是看不懂,其實吧 仔細看好幾眼也只能看個大概

下面給大家個一圖,對比的看一下就明白了,都是些返回碼 絕對時間 返回消息 字節大小之類的東西。


---------------------------------------分---分----分-----分--分---分---分割線-------------------------------------------

期間碰到了2個錯誤也順便 貼出來:


第一個圈起來的額就不說了 就是把jmeter下的一個文件複製ant下,具體的 請百度

第二個圈起來的着實是讓我 百度了好一會 實際情況是:

因爲大家最開始很多都是複製的同一個代碼所以很多這個問題。

哈哈哈,是不是很好玩。----------此處默默罵聲 屁啊!


好了,jmete+ant 就到這裏 下面開始集成jenjins

4.開始集成jenkins

說在前面的話:

本人對 jenkins是很不很不瞭解,搞不怎麼清楚,現在也是。

所以 先給出一個鏈接大家先瞅瞅點擊打開鏈接,然後百度下 jenkins怎麼用

1.安裝,可以百度下

2.看下主界面,然後點擊新建


3.輸入名字,構建一個自由風格軟件項目,最下面 點擊 ok



4.由於前面已經說了 自己也是菜,所以並沒有配置很多東西,但是配置的都會把圖貼上來

這個是,額  看圖中文字表達。 也可以點後面的 ? 號。看不懂就 翻譯


5.源碼管理沒有  構架觸發器沒有,

構建環境; 把安裝jdk和ant 是  系統環境變量裏的ANT_HOME 和 ANT_HOME 拿出來放到 

系統管理--Global Tool Configuration--JDK&ANT就可以瞭如圖  後呢***


***這裏就能夠選擇了 

6.在構建裏 加入InvokeAnt 配置如圖

在構建後操作裏 加入 public HTML reports 配置如圖 

如果,沒有找到 那就是插件沒安裝,至於怎麼安裝怎麼安裝 這個不難就不說了多看幾篇博客 也是有很多好處的。 

之前說了我菜 是真的才 還有一個圖形的功能插件那個功能  我還沒弄出來 老是報錯。所以請像大神學習

7.最後了 就是運行了 點擊 立即構建  然後點擊HTML_Report 看看 結果就可以了。


在查看HTML Report 時如果發現請求並沒有問題但是又大片的紅,或者 顯示不全的問題 請看這篇博客點擊打開鏈接

-----------------------------------------一點點學習的分隔符----------------------------------------------

嗯,如果對這些有了解後 可以參照這篇博客點擊打開鏈接

這次 我只是把報告優化了一下

對於那個 Performance Report ,雖然出現了一些數據但是 依舊有錯。Rpeponse time 的折線圖也沒顯示出來,哎 還是得繼續扒資料 看!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章