Jmeter 接口測試知識梳理——持續集成篇


Jmeter 使用也有很長時間了,但是一直沒有做一下知識梳理,近期會對公司同事做一下這方面的培訓,借此機會,把使用過程中應用到的知識,或是遇到的問題,整理出來,方便大家學習!

 

Jmeter + Ant + Jenkins 實現持續集成

 

1、Jmeter 安裝

  安裝教程參看:Jmeter 接口測試知識梳理——環境搭建篇

 

2、Ant 安裝

  2.1、下載 地址:https://ant.apache.org/bindownload.cgi

 

2.2、解壓到指定目錄下即可

 

 

2.3、配置環境變量

ANT_HOME

D:\SProgram\Ant

Path

%ANT_HOME%\bin;

 

2.4、添加jar包

將JMeter所在目錄下extras子目錄里的ant-JMeter-1.1.1.jar復制到Ant所在目錄lib子目錄之下,

這樣Ant運行時才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"這個類,從而成功觸發JMeter腳本 

 

2.5、修改配置文件

jmeter默認保存的是.csv格式的文件,所以我們先要設置一下bin/jmeter.properties文件內容,保存

    jmeter.save.saveservice.output_format=xml

 

 2.6、設置Jmeter工作空間

 目錄結構如下

 

結合下面build.xml文件,其實script 是存放將要執行的jmeter腳本文件的,即.jmx 文件的

ResultLog 即是存放測試報告的。

 

 

 2.7、修改build.xml 文件

  將如下代碼復制到新建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="D:\SProgram\jmeter" />
    <!-- jmeter生成jtl格式的結果報告的路徑-->
    <property name="jmeter.result.jtl.dir" value="D:\JmeterSpace\ResultLog\jtl" />
    <!-- jmeter生成html格式的結果報告的路徑-->
    <property name="jmeter.result.html.dir" value="D:\JmeterSpace\ResultLog\html" />
    <!-- 生成的報告的前綴 -->
    <property name="ReportName" value="TestReport" />
    <!-- 設置生成的.jtl文件名稱,名稱包含時間,防止覆蓋 -->
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    <!-- 設置生成的.html文件名稱,不包含時間,只保留最新報告,方便郵件獲取唯一的報告 -->
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
    <!-- 接收測試報告的郵箱 -->
     <!-- 該功能暫時沒有成功應用 -->
    <property name="mail_to" value="Your_mail" />
    <!-- 電腦地址 -->
    <property name="ComputerName" value="Yyj" />
    <target name="all">
        <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:\JmeterSpace\Script" includes="*.jmx" />
        </jmeter>
    </target>
    <target name="report">
        <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_90Line.xsl" />
        <!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
    <!-- 發送郵件 -->
     <!-- 發送郵件功能暫未成功使用 -->
 <target name="sendEmail">    
 <mail from="Your_mail@163.com" tolist="Your_mail@163.com"  mailhost="smtp.163.com"  mailport="25" user="Your_mail@163.com" password="Your_password"  subject="${ReportName}${time}">   
 <message>接口測試報告</message>     
 <attachments>              
 <fileset dir="${JMeter.home}/extras/">
 <include name="${ReportName}${time}.html"/> 
</fileset>   
 </attachments>        
 </mail> 
 </target> 

</project>

 

其實至此,打開命令行,cd 切換到build.xml文件路徑下,執行ant命令,即可得到如下圖

 

 

以及得到如下測試報告

 

 

 但是此時的測試報告還不完善,需要如下修改

 

2.8、修改Jmeter 測試報告模板

文件位置在 ${jmeter.home}/extras/目錄下

 查找 expand.png,以及collapse.png 修改路徑如下。這里根據自己實際情況修改。問題在於,如果測試報告不是本地打開,會出現圖標不顯示。

 

 

注意:jmeter-results-detail-report_90Line.xsl 文件,代碼行比較多,就不放在這里了,此文件已經放到了QQ群:193056556中 文件Jmeter目錄下,有需要的可以進群自取。

 下載后放到指定目錄下,即可直接使用無需修改!

 

 2.9、解決報告顯示NaN的問題

  

  解決方案,要下載一個xalan.jar,serializer.jar包,將這兩個jar包入ant的lib包中,輸入ant查看運行結果,使用瀏覽器查看,OK,顯示了!

   jar包已經放到群里文件中,見上面提示!

 

3、Jenkins 安裝

   3.1、下載

  下載地址:https://jenkins.io/download/

 

 

3.2、安裝 

 

點擊安裝,選擇安裝路徑,一路下一步即可。

安裝成功后會自動打開網頁
需要輸入管理員密碼:密碼參見如下圖文件

 

3.3、新建任務

 

 

 3.4、配置參數

 

 

高級中設置工作空間,這里是測試報告的地址,設置后,發送測試報告時,不需要再寫絕對路徑了,直接寫報告名稱即可。

 

 

 


舊的構建保存了你在一次構建中的所有臨時文件,如果構建沒有保留的必要,就勾選丟棄舊的構建,同時設置保持構建天使和保持構建的最大個數兩個參數。
  注意:三個設置必須同時設置,否則無效


3.5、設置定時運行間隔

這里,設置間隔時間為15分鍾運行一次

 

 

 

日程表介紹

   【  * * * * * 】 這五個 “*”  分別的定義為:分 時 天 月 星期

Minutes within the hour (0–59)

HOUR       Thehour of the day (0–23)

DOM         Theday of the month (1–31)

MONTH   Themonth (1–12)

DOW         Theday of the week (0–7) where 0 and 7 are Sunday.

*表示全部

 

即 下圖表示 每天 23點某時構建一次。

如果天寫了值表示某月的某天構建一次,同理 年和星期也是一樣。

 

 3.6、設置構建

添加 invoke ant,完成后點擊保存

 

 構建設置build file, build 主要是為了生成測試報告。

 

3.7、設置郵件發送

   這里使用一個sendmail.jar文件

   注意:該文件已經放入到群文件中,參考上面注意提示信息!

  

   使用WinRAR打開該文件,  修改如下文件


根據實際需要 修改該配置文件

 

 

修改完自己的配置文件后,可以將自己的配置文件放到jar包中,通過RAR打開jar 然后復制粘貼自己的配置文件到 jar 中,然后將sendmail.jar 存放到指定路徑。

 

 設置 郵件發送命令,如圖,sendmail.jar放到了lib 下。其實放哪里都行,這里用的時候全路徑引用即可!

 


命令:
java -jar D:\SProgram\tools\sendmail.jar -s "XX測試服接口測試報告,請查收。" -t yangyaojun@tenez.cn -b "test接口測試報告,請查看附件。" -a "TestReport.html"

-a "測試報告路徑+測試報告名稱"

對於 要設置 多個收件人時, 收件人郵箱之間用英文逗號隔開即可

 

最后保存配置即可。構建任務,即可自動執行測試任務,並發送郵件到指定郵箱!

 


免責聲明!

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



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