主要學(xué)習(xí)的內(nèi)容包括發(fā)送HTTP請求友存、HTTP信息頭管理器祷膳、HTTP cookies管理器、用戶定義的變量屡立、響應(yīng)斷言直晨、CSV數(shù)據(jù)文件設(shè)置的使用。
測試網(wǎng)址及測試接口等說明
提供的測試網(wǎng)址為:http://www.qk365.com/security/register
使用Chrome瀏覽器膨俐,先將瀏覽器的cookies緩存清空抡秆。
清空后,打開待測試的網(wǎng)址吟策,按F12鍵,輸入要注冊的手機(jī)號碼的止,如“18300987622”檩坚,點(diǎn)擊“發(fā)送驗(yàn)證碼”,可以看到請求的接口為:http://www.qk365.com/security/smsCode.do诅福,請求的參數(shù)為json格式的數(shù)據(jù):{"mobile":"18300987622","func":"register","isValidate":"1","memKey":"register-18300987622","memValue":"7F4BEC3A-BE2F-48C7-91ED-33887E186C87"}匾委,在知道接口后,就可以開始我們的接口測試了氓润。
jmeter進(jìn)行http post請求接口測試
默認(rèn)環(huán)境已經(jīng)有的條件下(這里不對jmeter運(yùn)行環(huán)境如何搭建做過多的描述赂乐,請自行上網(wǎng)查找環(huán)境搭建的相關(guān)資料),雙擊jmeter.bat咖气。出現(xiàn)如下界面設(shè)置工具的顯示語言挨措,Options→Chose Language→Chinese
完成上述步驟后,創(chuàng)建HTTP請求崩溪,包括:HTTP請求頭浅役,HTTP請求體以及察看結(jié)果樹
1、在測試計(jì)劃中添加線程組
2伶唯、在線程組中添加配置元件觉既,HTTP信息頭管理器,將剛才注冊頁面的請求頭選中并且復(fù)制乳幸,在HTTP信息頭管理器中單擊“Add from Clipboard”完成請求頭的復(fù)制
3瞪讼、在線程組中添加HTTP請求,請求的請求體為圖下內(nèi)容
4符欠、線程組添加察看樹姿染,點(diǎn)擊啟動按鈕秒际,查看請求結(jié)果
5、為響應(yīng)結(jié)果添加斷言狡汉,只有響應(yīng)結(jié)果中包含"msg":"短信發(fā)送成功"的響應(yīng)數(shù)據(jù)娄徊,這個請求才算是成功
Jmeter請求接口參數(shù)化
模擬5個用戶執(zhí)行以上的測試過程盾戴,我們發(fā)現(xiàn)只有第一次是成功的,其余的返回"msg":"短信驗(yàn)證碼發(fā)送過于頻繁"
發(fā)現(xiàn)原來是每個請求的請求手機(jī)號是一樣的尖啡,導(dǎo)致失敗
這時候可以使用配置元件橄仆,CSV數(shù)據(jù)文件設(shè)置每次請求的手機(jī)號是不同的,在這里我準(zhǔn)了一份手機(jī)號碼的excel文件盆顾,需要注意的是保存這個文件的時候要保存成.CSV格式的畏梆,這里我將這份文件放到j(luò)meter的examples目錄下
在CSV數(shù)據(jù)文件配置中填寫如下信息,然后修改驗(yàn)證碼接口中HTTP請求的請求體宪巨,最后再執(zhí)行一次溜畅,發(fā)現(xiàn)每次請求使用的手機(jī)號是不同的捏卓,并且請求成功
Jmeter請求接口壓力測試
修改線程組參數(shù)怠晴,添加聚合報告等浴捆,對接口進(jìn)行壓力測,這里可以把察看結(jié)果樹禁用了汤功,因?yàn)樵谡埱蠛芏嗟那闆r下,會影響工具性能色解。最后等結(jié)果
需要注意的是啟動jmeter.bat提示的那段話餐茵,壓力測試要用非界面模式,界面模式用來生成腳本忿族,調(diào)試沒有問題了蝌矛,再進(jìn)行非界面的壓力測試
May 22, 2018 9:42:40 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use NON GUI Mode:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
Jmeter報告生成
這部分內(nèi)容網(wǎng)上能查詢包相關(guān)信息错英,這里不進(jìn)行講解入撒。
寫在最后
這個平臺可以頻繁的刷驗(yàn)證碼接口,這本身就是一個bug椭岩。前端的滑動驗(yàn)證功能就是形同虛設(shè)的。
2018/06/04
如果你看到這里献雅,希望你能看一下這一篇博文Jmeter驗(yàn)證碼圖片識別注冊接口壓力測試實(shí)戰(zhàn)塌计,希望對你有所收獲
上一篇 | Jmeter驗(yàn)證碼注冊接口壓力測試實(shí)戰(zhàn) | 下一篇 |
---|