????????Jmter工具設(shè)計(jì)之初是用于做性能測(cè)試的殖熟,它在實(shí)現(xiàn)對(duì)各種接口的調(diào)用方面已經(jīng)做的比較成熟牵舵,因此悍引,本次直接使用Jmeter工具來完成對(duì)Http接口的測(cè)試。因?yàn)樵僮鼋涌跍y(cè)試時(shí)可以設(shè)置線程組机断,所以也可做接口性能測(cè)試楷拳。
? ? ? ? 本篇使用JMeter完成了一個(gè)完整的Http接口性能測(cè)試流程,從腳本編寫(工具化生成)吏奸,執(zhí)行到最終結(jié)果分析欢揖。
1. 測(cè)試接口的? 基本要求
> 接口地址 :我們選取最常見的百度搜索接口:https://www.baidu.com/s?ie=utf-8&&wd=新聞
????????????ie:編碼方式,默認(rèn)為utf-8
????????????wd: 搜索詞
> 返回結(jié)果判斷 (斷言):
????????????搜索結(jié)果苦丁,我們可以通過校驗(yàn)結(jié)果中是否含有搜索詞wd來判斷本次請(qǐng)求成功或失敗浸颓。
2. 操作
> 依次進(jìn)行如下操作:1) 添加線程組? ? ? ? ? ?2)添加請(qǐng)求&http消息頭管理器? ? ? ? ? 3)添加結(jié)果監(jiān)聽器(察看結(jié)果樹?)? ?
????????????????????????????????????4)添加用戶自定義變量? ? ? ? *)添加定時(shí)器(集合點(diǎn))
????????????????????????????????????5)添加請(qǐng)求的斷言? ? 6)添加斷言結(jié)果? ? 7)添加聚合報(bào)告? ? 8)執(zhí)行??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 9)結(jié)果分析(分析測(cè)試報(bào)告)
1) 添加線程組
????????添加虛擬用戶組(Thread Group),這些虛擬用戶用來模擬訪問被測(cè)系統(tǒng)
????????一個(gè)線程組(Thread Group)等于一組虛擬用戶(virtual users group),
? ??????一個(gè)Java線程?等于??一個(gè)用戶
2)添加請(qǐng)求产上、添加 http消息頭管理器
2.1)添加請(qǐng)求
? ??????接下來的一步就是要加入實(shí)際被測(cè)頁面棵磷,右擊“線程組” > “添加” > “Sampler” > “HTTP請(qǐng)求”。
? ? ? ? ps: 參數(shù)晋涣,用于get 或put請(qǐng)求仪媒;消息體數(shù)據(jù)用于post? ? 請(qǐng)求; -----很重要谢鹊,很容易出錯(cuò)算吩!
2.2)http消息頭管理器
3)添加察看結(jié)果樹
????????添加結(jié)果監(jiān)聽器(察看結(jié)果樹?),??“監(jiān)聽器”讓用戶來觀察測(cè)試結(jié)果
????????運(yùn)行后點(diǎn)擊左側(cè)觀察結(jié)果數(shù)佃扼,查看請(qǐng)求執(zhí)行結(jié)果偎巢,紅色為失敗,綠色為成功兼耀,如下圖:
4)添加用戶自定義變量??&集合點(diǎn)
用戶自定義變量 -压昼,需要再HTTP請(qǐng)求處,手動(dòng)修改請(qǐng)求中為變量形式 ${wd}
*)添加集合點(diǎn)
?5)添加請(qǐng)求的斷言? ??6)添加斷言結(jié)果? ??
7)添加聚合報(bào)告? ??
8)執(zhí)行??
至此派近,就完成了一個(gè)完整Http接口的JMeter性能測(cè)試腳本編寫,點(diǎn)擊運(yùn)行即可
>查看運(yùn)行日志,? ?“選項(xiàng)” > “Log Viewer”看看運(yùn)行的日志洁桌。如果你還是看不到日志渴丸,你可以點(diǎn)擊下面所示的三角箭頭展開或者收起日志視圖
9)結(jié)果分析(分析測(cè)試報(bào)告)
待性能測(cè)試執(zhí)行完成后,打開聚合報(bào)告可以看到:?
10) 腳本查看
? ? ? ? 可以使用編輯器查看.jmx文件谱轨,如下圖所示: