Jmeter&Ant構建自動化測試平臺

 JMeter是一個軟件,使負載測試或業績爲導向的業務(功能)測試不一樣的協議或技術。 Apache軟件基金會的Stefano Mazzocchi JMeter的最初的開發。他寫道:它主要對 Apache JServphp

(如今稱爲如Apache Tomcat項目)的性能進行測試。Apache後來從新設計JMeter 加強的圖形用戶界面和添加功能測試能力。Jmeter最初使用到性能測試,後來通過修改,能夠對軟件的不
僅僅進行性能測試,還能夠進行接口測試與功能,本文章在這裏要詳細介紹的就是,使用Jmeter測試一個產品的接口測試,並把Jmeter與ant,Jenkins結合起來,自動化的去執行,而且生成
給予html的測試報告。關於jmeter的其餘詳細信息,建議看官方的文檔,解釋的比較詳細和權威。
    jmeter下載地址爲: http://jmeter.apache.org/download_jmeter.cgi,也能夠到本人的百度網盤下載,下載地址爲: http://pan.baidu.com/s/1kVjgAxx,下載完成後,解壓文件,
加壓後,到biin目錄下,點擊jmeter.bat啓動jmeter(若是是linux環境,給jmeter.sh可執行的權限,而後執行jmeter.sh就能夠啓動jmeter),見啓動後的界面,見以下的截圖:
這裏已m.cyw.com爲案例,測試網易郵箱登陸,彈出的接口,見建立後的項目(這裏重點介紹與ant,jenkins的整合,不詳細介紹jmeter的使用方法),見建立後的項目計劃截圖:
 
下來來看m.cyw.com爲案例,跳轉到西安市的接口爲:http://m.cyw.com/index.php?m=api&c=cookie&a=setcity,請求爲post請求,具體見以下postman對該接口的請求截圖:
見如上,該接口在postman中調用,返回的json字符串,完善jmeter,見完善後的jmeter截圖以及附件:
在jmeter中,點擊run,能夠看到執行的結果,見截圖:
依據結果中,能夠看到執行的結果,是經過的,下來把jmeter與ant進行整合,實現自動化的執行,而不是每次執行,得打開jmeter的界面,點擊run去執行,ant的下載地址爲:
http://ant.apache.org/,下載後,在環境變量中配置ant,新建ANT_HOME,見截圖:
而後在path環境變量中加入%ANT_HOME%\bin,配置完成後,打開cmd命令提示符,輸入ant -v ,出現以下截圖,說明ant環境配置OK,見截圖:
 
想要實現jmeter使用ant去執行,須要作以下幾個操做:
一、修改jmeter配置文件jmeter.properties,把jmeter.save.saveservice.output_format=csv修改成jmeter.save.saveservice.output_format=xml,並
不要註釋,見截圖:
二、在jmeter的extras目錄下,把ant-jmeter-1.1.1.jar文件複製到ant的lib目錄下,見截圖;
三、在jmeter當前目錄下建立TestCase文件夾,並把wap.jmx複製到TestCase目錄下,見截圖:
四、編寫build.xml文件,ant執行時候,會使用到該文件,見build.xml文件的源碼:
<?xml version="1.0" encoding="UTF8"?>

<project name="Jmeter-TestCase" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
     </tstamp>

     <!--jmeter的目錄-->
     <property name="jmeter.home" value="D:\git\cyw\cyw_jmeter\apache-jmeter-2.12" />
     <property name="jmeter.result.jtl.dir" value="D:\git\cyw\cyw_jmeter\apache-jmeter-2.12\TestCaset\report\jtl" />
     <property name="jmeter.result.html.dir" value="Q:\tools\apache-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}">
            <testplans dir="D:\git\cyw\cyw_jmeter\apache-jmeter-2.12\TestCase" includes="wap.jmx" />
             <property name="jmeter.save.saveservice.output_format" value="xml"/>
         </jmeter>
     </target>

         
    
     <target name="report">
         <xslt in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
                  <!--jmeter的xml模板-->
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
         <copy todir="${jmeter.result.html.dir}">
             <fileset dir="${jmeter.home}/extras">
                 <include name="collapse.png" />
                 <include name="expand.png" />
             </fileset>
        </copy>
     </target>

 </project>
五、到D:\git\cyw\cyw_jmeter\apache-jmeter-2.12\TestCase目錄下,執行ant命令,就會執行接口測試用例,生成給予html的測試報告,見ant執行的命令:
 
從命令行中,能夠看到執行已成功,到Report目錄下,能夠看到生成的html與jtl,到html目錄下,能夠看到html的報告,見截圖:
打開html,能夠看到詳細的執行結果,見截圖:
 
OK,已生成想要的結果報告,特別說明,apache-jmeter-2.12\extras目錄下的xml文件能夠自定義,你看到的html報告可能和我截圖的不一致,不過,你也能夠根據本身的愛好修改xml文件。
Jenkins是一個持續集成的工具,下載地址爲: https://jenkins.io/index.html,下載後,把jenkins.war放到tomcat的webapps目錄下,啓動tomcat,在瀏覽器訪問 http://localhost:8080/jenkins
新建立工程,能夠把jmeter,ant,jenkins結合起來,實現接口自動化或者性能測試的自動化測試平臺,見jenmins截圖:
在Jenkins點擊當即構建,就能夠執行了。
 
OK,基本就介紹到這,若有任何疑問,可掃描關注本人的微信公衆平臺,或者加入本人的qq羣,一塊兒討論,共同進步,也可看本人寫的百度閱讀寫的自動化測試電子書,地址: http://yuedu.baidu.com/ebook/3c0077aaa32d7375a41780bb
相關文章
相關標籤/搜索