下面就以上圖的Restful類型的接口為例簡單介紹使用Jmeter進行接口測試的方法。
獲取某個具體網(wǎng)關(guān)設(shè)備的基本信息。
請求
方法:GET
URI:/api/gateway/<gateway_id>
參數(shù):
在HTTP請求(http request)的頭部(header)添加Userid和Token字段作為用戶驗證字段
參數(shù)名
必需
類型
說明
gateway_id
true
int
網(wǎng)關(guān)ID,置于URL內(nèi)
響應(yīng)
返回值:JSON格式的網(wǎng)關(guān)信息
參數(shù):
參數(shù)名
類型
說明
id
int
網(wǎng)關(guān)id
name
string
網(wǎng)關(guān)的名稱
mac
string
網(wǎng)關(guān)的mac地址
fw_ver
string
網(wǎng)關(guān)的固件版本號
sub_dev
unsigned int
子設(shè)備數(shù)
did
string
網(wǎng)關(guān)的did
pscode
string
網(wǎng)關(guān)pscode
1.啟動jmeter:在bin下以管理員身份運行jmeter.bat,啟動jmeter
2. 創(chuàng)建測試計劃:
默認啟動jmeter時會加載一個測試技術(shù)模板,保存測試計劃:修改名稱為Apitest,點擊保存,選擇保存路徑,后面的步驟,每次添加或修改了了一些選項,軟件并不會自動保存到j(luò)mx文件中,所以進行測試后,如果需要保存本次測試選項,要手動到“文件”菜單中保存一下。
3. 添加線程組
右鍵左邊樹中的測試計劃“Apitest”節(jié)點,“添 加”→”Threads”→”線程組”
添加成功后,“Apitest”節(jié)點下多了“線程組” 節(jié)點,當(dāng)然這個線程組的名稱是可以自己設(shè)定的。
4. 添加http默認請求:(用來配置公共參數(shù),不是http請求)
右鍵線程組,選擇“添加”→ “配置元件”→“HTTP請求默認值”,點擊“HTTP請求默認值”后
添加成功后,線程組”節(jié)點下多了“HTTP請求默認值”節(jié)點
這里可以設(shè)置主機地址等一下公共參數(shù),比如我們的例子中請求路徑前面都是主機地址+index.
填寫默認請求名、服務(wù)器、默認請求路徑,保存測試計劃。
5.添加http請求信息頭
這一項并不是必須的,只不過我們的例子中使用了Userid和Token放在HTTP請求頭中用作用戶驗證
右鍵“Apitest”,選擇“添加”→ “配置元件”→“HTTP信息頭管理器”
6. 添加http請求
右鍵“Apitest”,選擇“添加”→ “Sampler”→“HTTP請求”
添加成功后,出現(xiàn)新的節(jié)點“HTTP請求”,就可以填寫具體的請求參數(shù)了。
填寫完成,保存測試計劃
7. 添加監(jiān)聽器:
右鍵線程組,選擇“添加”→“監(jiān)聽器”→“XXXXXXXXX”
可以添加的監(jiān)聽器有很多種,可以添加多個監(jiān)聽器,這里我們添加幾個常用的“圖形結(jié)果”、“察看結(jié)果樹”、“聚合報告”
添加成功后,“線程組”下增加了幾個節(jié)點
8. 試運行
點擊執(zhí)行
可以查看各個“監(jiān)聽器”的結(jié)果
Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值
#Samples:表示你這次測試中一共發(fā)出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100
Average:平均響應(yīng)時間——默認情況下是單個 Request 的平均響應(yīng)時間,當(dāng)使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應(yīng)時間
Median:中位數(shù),也就是 50% 用戶的響應(yīng)時間
90% Line:90% 用戶的響應(yīng)時間
Note:關(guān)于 50% 和 90% 并發(fā)用戶數(shù)的含義,請參考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min:最小響應(yīng)時間
Max:最大響應(yīng)時間
Error%:本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù)
Throughput:吞吐量——默認情況下表示每秒完成的請求數(shù)(Request per Second),當(dāng)使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數(shù)
KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,相當(dāng)于LoadRunner中的Throughput/Sec
9. 修改線程組的線程數(shù)等參數(shù),用于壓力測試
點擊左側(cè)樹形導(dǎo)航中的“線程組”
設(shè)置上面幾個參數(shù),模擬的總的請求數(shù)是:線程數(shù)*循環(huán)次數(shù)。執(zhí)行一下,用“圖形結(jié)果”監(jiān)聽器查看一下