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

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