本次在windows版本中進(jìn)行研究
書寫本文目的是為了跟我一樣的小白們少走一些彎路,把我現(xiàn)在摸索出來的正確打開方式總結(jié)一下,望共勉,此外里面內(nèi)容還有好多我不太懂的地方還請(qǐng)路過的大神們多多提出寶貴意見,3Q!
-
首先了解下什么是接口測(cè)試:
一、什么是接口測(cè)試?
接口測(cè)試是測(cè)試系統(tǒng)組件間接口的一種測(cè)試。接口測(cè)試主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測(cè)試的重點(diǎn)是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
接口測(cè)試適用于為其他系統(tǒng)提供服務(wù)的底層框架系統(tǒng)和中心服務(wù)系統(tǒng),主要測(cè)試這些系統(tǒng)對(duì)外部提供的接口,驗(yàn)證其正確性和穩(wěn)定性。接口測(cè)試同樣適用于一個(gè)上層系統(tǒng)中的服務(wù)層接口,越往上層,其測(cè)試的難度越大。
接口測(cè)試實(shí)施在多系統(tǒng)多平臺(tái)的構(gòu)架下,有著極為高效的成本收益比,接口測(cè)試天生為高復(fù)雜性的平臺(tái)帶來高效的缺陷監(jiān)測(cè)和質(zhì)量監(jiān)督能力。平臺(tái)越復(fù)雜,系統(tǒng)越龐大,接口測(cè)試的效果越明顯。
基于接口測(cè)試的重要性,以及它比較容易自動(dòng)化的特性,通過持續(xù)集成的接口監(jiān)控能夠及時(shí)的發(fā)現(xiàn)項(xiàng)目中存在的問題,這對(duì)持續(xù)運(yùn)營(yíng)的項(xiàng)目來說,非常重要。
二、接口測(cè)試的流程
1、 項(xiàng)目啟動(dòng)后,測(cè)試人員要盡早找到開發(fā)人員拿到接口測(cè)試文檔
2、 獲取接口測(cè)試文檔后,就可以進(jìn)行接口用例的編寫和調(diào)試
3、 接口用例編寫調(diào)試完成后,部署到持續(xù)集成的測(cè)試環(huán)境中,
4、 設(shè)定腳本運(yùn)行頻率,告警方式等基本參數(shù),進(jìn)行接口的日常監(jiān)控
5、 每日進(jìn)行接口腳本的維護(hù)更新,接口異常的處理
-
然后準(zhǔn)備好測(cè)試腳本
- 那個(gè)不知道jmeter怎么用的可以先學(xué)習(xí)一下jmeter的 基本用法
- 這里我提前準(zhǔn)備好了一個(gè)jmx文件(提取碼:a446)
- 這里是我們使用非 GUI 模式運(yùn)行測(cè)試腳本時(shí)可以使用的一些命令:
-h 幫助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下運(yùn)行 JMeter
-t 測(cè)試文件 -> 要運(yùn)行的 JMeter 測(cè)試腳本文件
-l 日志文件 -> 記錄結(jié)果的文件
-r 遠(yuǎn)程執(zhí)行 -> 啟動(dòng)遠(yuǎn)程服務(wù)
-H 代理主機(jī) -> 設(shè)置 JMeter 使用的代理主機(jī)
-P 代理端口 -> 設(shè)置 JMeter 使用的代理主機(jī)的端口號(hào)
例如:
jmeter -n -t test.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080
其中可以給jmx文件指定路徑,也可以給輸入日志文件指定輸出路徑

如果要在windows機(jī)器上執(zhí)行這個(gè)命令行,有兩
第一種方法:通過cmd 進(jìn)入到 *\apache-jmeter-2.13\bin(也就是jmeter所在的目錄)中執(zhí)行
第二種方法:通過給jmeter配置環(huán)境變量,
1. JMETER_HOME:E:\workplace-jenkins\apache-jmeter-2.13\bin
2. PATH: %JMETER_HOME%bin
3. CLASS_PATH: %JMETER_HOME%lib
注:這里有的時(shí)候用%JMETER_HOME%不好用,可以換成絕對(duì)路徑;如果用第二種方法配置以后,則在任何路徑下都可以執(zhí)行jmeter命令了,我比較推薦這個(gè);在這里最好能實(shí)現(xiàn)通過命令行執(zhí)行jmx以后再往下進(jìn)行-
Jenkins for windows 的安裝
- 首先需要下載Jenkins的安裝包,或者根據(jù)自己需要Jenkins官網(wǎng)下載
-
下載好windows版以后,直接解壓打開msi
安裝包.png - 安裝的過程中選擇好路徑,然后就是傻瓜式的下一步,完成后會(huì)自動(dòng)打開Jenkins的網(wǎng)站:
http://localhost:8080
即${安裝機(jī)器的ip}:8080 - 首次進(jìn)入會(huì)有個(gè)密碼,根據(jù)紅色提示信息 ,復(fù)制到 在文件管理器中找到密碼

- 選擇推薦插件就行,運(yùn)氣好能少失敗幾個(gè),然后就等著吧 ,等到進(jìn)度條到頭的時(shí)候(這時(shí)候Jenkins不一直在那不動(dòng),我也不知道為啥,歡迎指教),可以手動(dòng)刷新頁面再次進(jìn)入Jenkins,選擇continue就可以

可以先去修改個(gè)密碼省的下次登錄還得找 “系統(tǒng)管理->管理用戶”
-
安裝好了以后還需要準(zhǔn)備一個(gè)build.xml文件
直接手動(dòng)建立一個(gè)build.xml文件放在你認(rèn)為合適的地方,因?yàn)橐粫?huì)建job還要用呢!
<?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="E:\workplace-jenkins\apache-jmeter-2.13\" />
<!-- jmeter生成jtl格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.jtl.dir" value="E:\workplace-jenkins\jmeter-restult\jtl" />
<!-- jmeter生成html格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.html.dir" value="E:\workplace-jenkins\jmeter-restult\html" />
<!-- 生成的報(bào)告的前綴 -->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
<!-- 接收測(cè)試報(bào)告的郵箱 -->
<property name="mail_to" value="XX@gmail.com" />
<!-- 電腦地址 -->
<property name="ComputerName" value="andre" />
<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}">
<!-- 聲明要運(yùn)行的腳本。"*.jmx"指包含此目錄下的所有jmeter腳本 -->
<testplans dir="E:\workplace-jenkins\test_case" includes="*.jmx" />
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" />
<!-- 因?yàn)樯厦嫔蓤?bào)告的時(shí)候,不會(huì)將相關(guān)的圖片也一起拷貝至目標(biāo)目錄,所以,需要手動(dòng)拷貝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<!-- 發(fā)送郵件 -->
</project>
查閱了大量的文章,寫法都差不多,但是我還不能自己優(yōu)化,故直接拿來,記錄下待他日有深刻體會(huì)時(shí)再次修改,特別說明一個(gè)地方:${jmeter.home}/extras/jmeter.results.shanhe.me.xsl這個(gè)是我下載的一個(gè)第三方模板(提取碼:d982),有興趣你也可以下個(gè)試試,不過jmter自帶了4個(gè)模板
-
準(zhǔn)備差不多了,現(xiàn)在就建個(gè)job體驗(yàn)一下

然后:

別的不用管直接到增加構(gòu)建步驟:


添加參數(shù):
Targets:參數(shù)你研究一下build.xml文件就知道了
build file : build.xml路徑

點(diǎn)擊保存即可。
然后點(diǎn)擊構(gòu)建,我這里成功了。


還可以去看一下生成的報(bào)告:

-
到現(xiàn)在為止一個(gè)Jenkins+jmeter+ant自動(dòng)化的框架基本搭建完事了,剩下的就是看你怎樣發(fā)揮你的想象力去創(chuàng)造了,后續(xù)還會(huì)更新一些創(chuàng)建report,以及發(fā)送報(bào)警郵件等等的其它功能,待續(xù)!
