使用工具:
Fiddler、Jmeter
測試步驟:
1. 確認接口
從開發(fā)人員那里獲取接口文檔,接口文檔應該包括完整的功能接口、接口請求方式、接口請求URL、接口請求參數(shù)、接口返回參數(shù)。
如果當前項目沒有接口文檔,則可以使用fiddler對APP進行抓包確認。
fiddler對手機進行抓包的方法可以參考:http://blog.csdn.NET/whorus1/article/details/50673740
在手機上對APP進行操作,然后在Fiddler中可以抓取對應的網(wǎng)絡交互信息(一個功能中可能設計多個接口的交互)。在抓取的信息中可以看到接口請求方式、接口請求URL、接口請求參數(shù)、接口返回參數(shù)。
2. 在Jmeter中編寫測試腳本
(1)在測試計劃中添加一個線程組(在測試計劃上右擊,添加-Threads-線程組)。
可以將線程組的名稱改成測試項目的名稱。
在性能測試時可以通過配置線程屬性中的參數(shù)來控制并發(fā)用戶數(shù):
線程數(shù):虛擬用戶數(shù),即并發(fā)數(shù),一個線程表示一個虛擬用戶;
Ramp-Up Period:所有線程啟動的時間,單位s。通過這個參數(shù)可以設置每個線程間的啟動間隔,防止給電腦造成太大性能壓力;
循環(huán)次數(shù):測試循環(huán)的次數(shù),如果勾選了“永遠”,那么所有線程會一直發(fā)送請求,直到手動停止運行腳本;
。2)在線程組中添加HTTP請求(在線程組上右擊,添加-Sampler-HTTP請求)。
可以將名稱改為待測接口的名稱;
在Web服務器中填入請求服務器的地址和端口號;
協(xié)議中填入HTTP請求的協(xié)議,可以是http或https,我們一般用的都是http;
在方法中選擇HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE;(我們項目中的接口方法使用的主要是GET和PUT,在目前易戶網(wǎng)的項目中由于APP不直接和服務器交互,中間有一個統(tǒng)一接口平臺,所以GET方法的接口請求也要使用POST進行交互。)
在路徑中填入接口請求的URL;
請求參數(shù):如果是GET方法的請求,請求參數(shù)直接寫在URL后面即可;如果是POST的方法,則需要在Body Data中填入包含請求參數(shù)的數(shù)據(jù)(Body Data可以從Fiddler抓的包中獲取,將Fiddler抓取的到數(shù)據(jù)包中Inspectors-TextView中的數(shù)據(jù)復制到Body data中即可);
。3)在線程組中添加HTTP信息頭管理器(在線程組上右擊,添加-配置元件-HTTP請求信息頭管理器)。
配置如下:
。4)添加監(jiān)聽器(在線程組上右擊,添加-監(jiān)聽器-XXX)。
主要配置完成了,需要添加監(jiān)聽器以查看測試結(jié)果。一般我們使用查看結(jié)果樹和聚合報告查看。
查看結(jié)果樹:在結(jié)果樹中會以樹形結(jié)構展示每個接口請求的測試結(jié)果,包括取樣器結(jié)果、請求、響應數(shù)據(jù),在響應數(shù)據(jù)中可看到網(wǎng)絡側(cè)返回的數(shù)據(jù),可以以接口文檔中期望返回的參數(shù)做比較以判斷返回是否正確。在結(jié)果樹中通過顏色可以直觀的看到接口測試的結(jié)果,綠色為通過,紅色為失敗。
聚合報告:從聚合報告中我們可以獲取到比較多的信息,包括接口的響應時間、吞吐量、通過率等,在接口的性能測試中很有用。