Jenkins+Ant+Jmeter搭建持續整合的介面測試平臺
一、什麼是介面測試?
介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。
介面測試適用於為其他系統提供服務的底層框架系統和中心服務系統,主要測試這些系統對外部提供的介面,驗證其正確性和穩定性。介面測試同樣適用於一個上層系統中的服務層介面,越往上層,其測試的難度越大。
介面測試實施在多系統多平臺的構架下,有著極為高效的成本收益比,介面測試天生為高複雜性的平臺帶來高效的缺陷監測和質量監督能力。平臺越複雜,系統越龐大,介面測試的效果越明顯。
基於介面測試的重要性,以及它比較容易自動化的特性,通過持續整合的介面監控能夠及時的發現專案中存在的問題,這對持續運營的專案來說,非常重要。
二、介面測試的流程
1、 專案啟動後,測試人員要儘早找到開發人員拿到介面測試文件
2、 獲取介面測試文件後,就可以進行介面用例的編寫和除錯
3、 介面用例編寫除錯完成後,部署到持續整合的測試環境中,
4、 設定指令碼執行頻率,告警方式等基本引數,進行介面的日常監控
5、 每日進行介面指令碼的維護更新,介面異常的處理
三、編寫介面測試指令碼
大部分效能工具都可以用來進行介面測試,jmeter就是一個好用的效能測試工具,他也同樣可以用來進行介面測試,jmeter比較適用於CGI、webservice、DB等型別的介面測試。下面以websevice api介面為例說明如何編寫介面測試用例(本文側重於介面測試平臺的搭建,對於具體工具是使用只進行簡單介紹,對於工具不瞭解的,可以自行百度):
jimter介面指令碼的編寫步驟如下:
1、 編寫介面請求
通過錄制或者檢視介面文件,編寫介面請求,進行除錯,確保介面除錯通過
對於http的請求來說,就是正確的填寫域名,查詢字串,查詢引數等資訊
2、 對介面的返回結果進行斷言
斷言的目的是對輸出結果進行判斷,確認介面測試結果是否有異常
這些工作完成後,介面測試指令碼就準備好了
四、生成介面測試報告
介面測試指令碼執行後生成的是JTL(xml)格式的檔案,這些檔案不具備可讀性,因此我們要把他轉化為可以閱讀的html格式報告。
轉化的步驟如下:
1、 安裝ant工具
Ant是一個功能強大的打包編譯工具。我們使用他的目的是將xml檔案轉化為html格式的檔案
2、 找到jmeter自帶的xsl檔案
Xml檔案要轉化為html檔案,需要編寫xsl檔案,實際上,jmeter已經自帶了xsl檔案,如果你不想自己定義格式的話,可以直接使用自帶的格式,這樣可以省不少事情。這些檔案的位置位於jmeter的extras資料夾下,只需要簡單修改一些檔案路徑配置就可以正常使用。
3、 編寫ant的buildfile檔案
Ant自帶了把XML轉化為html的lib庫,因此,這個轉化也是相當簡單的,示例如下:
<target name=”xslt-report” depends=”_message_xalan”>
<tstamp><format property=”report.datestamp” pattern=”yyyy/MM/dd HH:mm”/></tstamp>
<xslt
classpathref=”xslt.classpath”
force=”true”
in=”${resultpath}/${test}-${TODAY}.jtl”
out=”${resultpath}/${test}-${TODAY}.html”
style=”${jmeter.extras}/jmeter-results-detail-report${style_version}.xsl”>
<param name=”showData” expression=”${show-data}”/>
<param name=”titleReport” expression=”${report.title}”/>
<param name=”dateReport” expression=”${report.datestamp}”/>
</xslt>
</target>
|
完整的buildfile檔案,請自行百度
4、 執行ant命令,生成html檔案
Cmd執行ant –buildfile xsl檔案,你就可以生成html報告了
生成的測試報告如下:
五、部署到持續整合平臺
部署到持續整合平臺可以實現指令碼的定時執行,這是介面測試的核心。
這裡我們選用了jenkins,,jenkins是一個強大的持續整合系統,使用起來也很簡單。
使用步驟如下:
1、 安裝jenkins
Jenkins的安裝是非常簡單的
注意:請將jenkins安裝到一個空間比較大的系統盤中。因為jenkins執行起來,生成的檔案比較佔空間。
2、 安裝完成後,配置一個專案
舊的構建儲存了你在一次構建中的所有臨時檔案,如果構建沒有保留的必要,就勾選丟棄舊的構建,同時設定保持構建天使和保持構建的最大個數兩個引數。
注意:三個設定必須同時設定,否則無效
4、 設定定時執行間隔,這裡,設定間隔時間為10分鐘執行一次
5、設定invoke ant
通過設定invoke ant,就可以呼叫ant,執行打包過程。在這裡,也就是執行生成測試報告的步驟
通過以上步驟,我們就成功搭建了一個簡單的持續整合的介面測試平臺,當然,你也可以根據自己的需要新增其他更強大的功能
最新內容請見作者的GitHub頁:http://qaseven.github.io/
相關文章
- jenkins+ant+jmeter介面自動化的持續整合測試框架JenkinsJMeter框架
- Linux 核心的持續整合測試Linux
- ET-ci — 全自動軟體測試排程(持續整合)平臺
- ET·ci —持續整合驗證平臺
- .netcore持續整合測試篇之搭建記憶體伺服器進行整合測試一NetCore記憶體伺服器
- .netcore持續整合測試篇之測試方法改造NetCore
- 使用 Xcode Server 持續整合 & 打包測試XCodeServer
- Linux下搭建介面自動化測試平臺Linux
- 測試平臺之介面測試
- 持續整合平臺 01 jenkins 入門介紹Jenkins
- 關於測試平臺的搭建 (我們要不要搭建測試平臺)
- Linux下搭建Jenkins持續整合LinuxJenkins
- Django+Vue+Docker搭建介面測試平臺實戰DjangoVueDocker
- .net持續整合測試篇之Nunit引數化測試
- .net持續整合sonarqube篇之 sonarqube整合單元測試
- .net持續整合測試篇之Nunit that斷言
- 傳統企業如何打造統一的持續整合平臺
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- 介面效能測試 —— Jmeter併發與持續性壓測JMeter
- Kubernetes/K8S構建Jenkins持續整合平臺K8SJenkins
- LevOJ平臺 - 持續更新
- 物聯網平臺的搭建知識要點(持續更新)
- Django測試與持續整合:從入門到精通Django
- 聊聊持續測試
- jenkins介面、UI自動化持續整合JenkinsUI
- 持續測試效能的方法
- 持續整合、持續交付與持續部署
- 持續整合、持續部署、持續交付、持續釋出
- .net持續整合測試篇之Nunit常見斷言
- 思考如何將自動化測試加入持續整合中
- XSS————1、XSS測試平臺搭建
- 新夢想幹貨分享——持續整合的自動化測試
- 聊聊持續測試的進階
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 前端er,Jenkins持續化整合環境搭建前端Jenkins
- 介面測試平臺更新日記 20200926
- Django 介面自動化測試平臺Django
- Jenkins上實現Python + Jenkins + Allure Report 介面自動化測試持續整合,並生成allure-report測試報告JenkinsPython測試報告
- 基於 Django 的 Dubbo 介面測試工具平臺Django