前言:
本文主要針對http接口進行測試贱勃,使用Jmeter工具實現(xiàn)。
Jmter工具設計之初是用于做性能測試的,它在實現(xiàn)對各種接口的調(diào)用方面已經(jīng)做的比較成熟贵扰,因此懊缺,本次直接使用Jmeter工具來完成對Http接口的測試瓢喉。
一导狡、開發(fā)接口測試案例的整體方案:
第一步:我們要分析出測試需求归斤,并拿到開發(fā)提供的接口說明文檔;
第二步:從接口說明文檔中整理出接口測試案例列肢,里面要包括詳細的入?yún)⒑统鰠?shù)據(jù)以及明確的格式和檢查點恰画。
第三步:和開發(fā)一起對接口測試案例進行評審宾茂。
第四步:結(jié)合開發(fā)庫瓷马,準備接口測試案例中的入?yún)?shù)據(jù)和出參數(shù)據(jù),并整理成csv格式的文件跨晴。
第五步:結(jié)合接口測試案例文檔和csv格式的數(shù)據(jù)文檔欧聘,做接口測試案例的自動化案例開發(fā)。
二端盆、接口自動化適用場景:
目前設計的自動化接口測試案例有兩個運行場景:
1. 測試前置怀骤、開發(fā)自測:一個新的自動化接口測試案例開發(fā)完成后,直接發(fā)給接口對應的開發(fā)焕妙,安排在開發(fā)本地環(huán)境執(zhí)行蒋伦,一旦開發(fā)確認完成接口開發(fā),就開始執(zhí)行接口測試案例焚鹊,基本上可以實時拿到測試結(jié)果痕届,方便開發(fā)快速做出判斷∧┗迹【開發(fā)本地運行的方式就是打開JMeter工具研叫,導入JMX文件,開始執(zhí)行可璧针∪侣】
- 回歸測試:開發(fā)本地測試通過后,或整個需求手工測試通過后探橱,把自動化的接口測試案例做分類整理申屹,挑選出需要納入到回歸測試中的案例,在持續(xù)集成環(huán)境重新準備測試數(shù)據(jù)隧膏,并把案例納入到持續(xù)集成的job中來哗讥,這些用于回歸的接口測試案例需要配置到持續(xù)集成平臺自動運行。
三私植、接口測試環(huán)境準備
- Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Jmeter忌栅,下載址址:http://jmeter.apache.org/download_jmeter.cgi
- 插件的下載安裝地址:http://www.jmeter-plugins.org/
四、創(chuàng)建工程:
1、打開Jmeter:下載好Jmeter后索绪,雙擊bin目錄下的jmeter.bat文件:
2湖员、添加線程組:在“測試計劃”上點擊鼠標右鍵-->添加-->threads(Users)-->線程組,添加測試場景設置組件瑞驱,接口測試中一般設置為1個“線程數(shù)”娘摔,根據(jù)測試數(shù)據(jù)的個數(shù)設定“循環(huán)次數(shù)”。
3唤反、添加“HTTP Cookie管理器”:
4凳寺、添加“Http請求默認值”組件,當被測系統(tǒng)有唯一的訪問域名和端口時彤侍,這個組件很好用:
5肠缨、在“HTTP 請求默認值”組件配置頁面,填寫被測系統(tǒng)的域名和端口盏阶,http請求的實現(xiàn)包版本以及具體協(xié)議類型晒奕,線程組里的所有“HTTP Sampler”可默認使用此設置。
6名斟、在“線程組”里添加“HTTP 請求”的Sampler
7脑慧、在HTTP請求設置頁面,錄入被測接口的詳細信息砰盐,包括請求路徑闷袒,對應的請求方法,以及隨請求一起發(fā)送的參數(shù)列表:
8岩梳、設置檢查點:在被測接口對應的“HTTP 請求”上囊骤,添加“響應斷言”
9、在設置頁面上添加對相應結(jié)果的正則表達式存在性判斷即可:
10蒋腮、添加監(jiān)聽器:方便查看運行后的結(jié)果
運行結(jié)果:
上述步驟完成了一個簡單測試案例的創(chuàng)建淘捡,復雜測試案例均在此基礎上擴展完成。使用Jmeter工具開發(fā)的接口測試案例池摧,一個子系統(tǒng)建議放在同一個 “測試計劃”中焦除,流程測試可以通過“線程組”來區(qū)分,這樣也便于設定不同的測試數(shù)據(jù)個數(shù)作彤。比較獨立的接口膘魄,可以統(tǒng)一放在一個線程組內(nèi),順序完成測試竭讳。
流程性接口的測試:如果要測試的接口可以組成一個流程创葡,只需要順序添加多個“HTTP 請求”的Sampler,各請求之間可以提取需要在上下文傳遞的數(shù)據(jù)作為參數(shù)绢慢,以保證流程中數(shù)據(jù)的一致性灿渴。