本次在windows版本中進行研究
書寫本文目的是為了跟我一樣的小白們少走一些彎路,把我現在摸索出來的正確打開方式總結一下,望共勉,此外里面內容還有好多我不太懂的地方還請路過的大神們多多提出寶貴意見,3Q!
-
首先了解下什么是接口測試:
一、什么是接口測試?
接口測試是測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
接口測試適用于為其他系統提供服務的底層框架系統和中心服務系統,主要測試這些系統對外部提供的接口,驗證其正確性和穩定性。接口測試同樣適用于一個上層系統中的服務層接口,越往上層,其測試的難度越大。
接口測試實施在多系統多平臺的構架下,有著極為高效的成本收益比,接口測試天生為高復雜性的平臺帶來高效的缺陷監測和質量監督能力。平臺越復雜,系統越龐大,接口測試的效果越明顯。
基于接口測試的重要性,以及它比較容易自動化的特性,通過持續集成的接口監控能夠及時的發現項目中存在的問題,這對持續運營的項目來說,非常重要。
二、接口測試的流程
1、 項目啟動后,測試人員要盡早找到開發人員拿到接口測試文檔
2、 獲取接口測試文檔后,就可以進行接口用例的編寫和調試
3、 接口用例編寫調試完成后,部署到持續集成的測試環境中,
4、 設定腳本運行頻率,告警方式等基本參數,進行接口的日常監控
5、 每日進行接口腳本的維護更新,接口異常的處理
-
然后準備好測試腳本
- 那個不知道jmeter怎么用的可以先學習一下jmeter的 基本用法
- 這里我提前準備好了一個jmx文件(提取碼:a446)
- 這里是我們使用非 GUI 模式運行測試腳本時可以使用的一些命令:
-h 幫助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下運行 JMeter
-t 測試文件 -> 要運行的 JMeter 測試腳本文件
-l 日志文件 -> 記錄結果的文件
-r 遠程執行 -> 啟動遠程服務
-H 代理主機 -> 設置 JMeter 使用的代理主機
-P 代理端口 -> 設置 JMeter 使用的代理主機的端口號
例如:
jmeter -n -t test.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080
其中可以給jmx文件指定路徑,也可以給輸入日志文件指定輸出路徑
如果要在windows機器上執行這個命令行,有兩
第一種方法:通過cmd 進入到 *\apache-jmeter-2.13\bin(也就是jmeter所在的目錄)中執行
第二種方法:通過給jmeter配置環境變量,
1. JMETER_HOME:E:\workplace-jenkins\apache-jmeter-2.13\bin
2. PATH: %JMETER_HOME%bin
3. CLASS_PATH: %JMETER_HOME%lib
注:這里有的時候用%JMETER_HOME%不好用,可以換成絕對路徑;如果用第二種方法配置以后,則在任何路徑下都可以執行jmeter命令了,我比較推薦這個;在這里最好能實現通過命令行執行jmx以后再往下進行-
Jenkins for windows 的安裝
- 首先需要下載Jenkins的安裝包,或者根據自己需要Jenkins官網下載
-
下載好windows版以后,直接解壓打開msi
安裝包.png - 安裝的過程中選擇好路徑,然后就是傻瓜式的下一步,完成后會自動打開Jenkins的網站:
http://localhost:8080
即${安裝機器的ip}:8080 - 首次進入會有個密碼,根據紅色提示信息 ,復制到 在文件管理器中找到密碼
- 選擇推薦插件就行,運氣好能少失敗幾個,然后就等著吧 ,等到進度條到頭的時候(這時候Jenkins不一直在那不動,我也不知道為啥,歡迎指教),可以手動刷新頁面再次進入Jenkins,選擇continue就可以
可以先去修改個密碼省的下次登錄還得找 “系統管理->管理用戶”
-
安裝好了以后還需要準備一個build.xml文件
直接手動建立一個build.xml文件放在你認為合適的地方,因為一會建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格式的結果報告的路徑-->
<property name="jmeter.result.jtl.dir" value="E:\workplace-jenkins\jmeter-restult\jtl" />
<!-- jmeter生成html格式的結果報告的路徑-->
<property name="jmeter.result.html.dir" value="E:\workplace-jenkins\jmeter-restult\html" />
<!-- 生成的報告的前綴 -->
<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" />
<!-- 接收測試報告的郵箱 -->
<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}">
<!-- 聲明要運行的腳本。"*.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" />
<!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<!-- 發送郵件 -->
</project>
查閱了大量的文章,寫法都差不多,但是我還不能自己優化,故直接拿來,記錄下待他日有深刻體會時再次修改,特別說明一個地方:${jmeter.home}/extras/jmeter.results.shanhe.me.xsl這個是我下載的一個第三方模板(提取碼:d982),有興趣你也可以下個試試,不過jmter自帶了4個模板
-
準備差不多了,現在就建個job體驗一下
然后:
別的不用管直接到增加構建步驟:
添加參數:
Targets:參數你研究一下build.xml文件就知道了
build file : build.xml路徑
點擊保存即可。
然后點擊構建,我這里成功了。
還可以去看一下生成的報告:
-
到現在為止一個Jenkins+jmeter+ant自動化的框架基本搭建完事了,剩下的就是看你怎樣發揮你的想象力去創造了,后續還會更新一些創建report,以及發送報警郵件等等的其它功能,待續!