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

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

(現在稱爲如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去執行,需要做如下幾個操作:

1、修改jmeter配置文件jmeter.properties,把jmeter.save.saveservice.output_format=csv修改爲jmeter.save.saveservice.output_format=xml,並

不要註釋,見截圖:

2、在jmeter的extras目錄下,把ant-jmeter-1.1.1.jar文件複製到ant的lib目錄下,見截圖;

3、在jmeter當前目錄下創建TestCase文件夾,並把wap.jmx複製到TestCase目錄下,見截圖:

4、編寫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>

5、到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結合起來,實現接口自動化或者性能測試的自動化測試平臺,見jenkins截圖:

在Jenkins點擊立即構建,就可以執行了。

OK,基本就介紹到這,如有任何疑問,可掃描關注本人的微信公衆平臺,或者加入本人的qq羣,一起討論,共同進步,也可看本人寫的百度閱讀寫的自動化測試電子書,地址:http://yuedu.baidu.com/ebook/3c0077aaa32d7375a41780bb

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