主要學習的內(nèi)容包括發(fā)送HTTP請求、HTTP信息頭管理器、HTTP cookies管理器、用戶定義的變量、響應斷言、CSV數(shù)據(jù)文件設置的使用。
測試網(wǎng)址及測試接口等說明
提供的測試網(wǎng)址為:http://www.qk365.com/security/register
使用Chrome瀏覽器,先將瀏覽器的cookies緩存清空。
清空后,打開待測試的網(wǎng)址,按F12鍵,輸入要注冊的手機號碼,如“18300987622”,點擊“發(fā)送驗證碼”,可以看到請求的接口為: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進行http post請求接口測試
默認環(huán)境已經(jīng)有的條件下(這里不對jmeter運行環(huán)境如何搭建做過多的描述,請自行上網(wǎng)查找環(huán)境搭建的相關資料),雙擊jmeter.bat。出現(xiàn)如下界面設置工具的顯示語言,Options→Chose Language→Chinese
完成上述步驟后,創(chuàng)建HTTP請求,包括:HTTP請求頭,HTTP請求體以及察看結(jié)果樹
1、在測試計劃中添加線程組
2、在線程組中添加配置元件,HTTP信息頭管理器,將剛才注冊頁面的請求頭選中并且復制,在HTTP信息頭管理器中單擊“Add from Clipboard”完成請求頭的復制
3、在線程組中添加HTTP請求,請求的請求體為圖下內(nèi)容
4、線程組添加察看樹,點擊啟動按鈕,查看請求結(jié)果
5、為響應結(jié)果添加斷言,只有響應結(jié)果中包含"msg":"短信發(fā)送成功"的響應數(shù)據(jù),這個請求才算是成功
Jmeter請求接口參數(shù)化
模擬5個用戶執(zhí)行以上的測試過程,我們發(fā)現(xiàn)只有第一次是成功的,其余的返回"msg":"短信驗證碼發(fā)送過于頻繁"
發(fā)現(xiàn)原來是每個請求的請求手機號是一樣的,導致失敗
這時候可以使用配置元件,CSV數(shù)據(jù)文件設置每次請求的手機號是不同的,在這里我準了一份手機號碼的excel文件,需要注意的是保存這個文件的時候要保存成.CSV格式的,這里我將這份文件放到jmeter的examples目錄下
在CSV數(shù)據(jù)文件配置中填寫如下信息,然后修改驗證碼接口中HTTP請求的請求體,最后再執(zhí)行一次,發(fā)現(xiàn)每次請求使用的手機號是不同的,并且請求成功
Jmeter請求接口壓力測試
修改線程組參數(shù),添加聚合報告等,對接口進行壓力測,這里可以把察看結(jié)果樹禁用了,因為在請求很多的情況下,會影響工具性能。最后等結(jié)果
需要注意的是啟動jmeter.bat提示的那段話,壓力測試要用非界面模式,界面模式用來生成腳本,調(diào)試沒有問題了,再進行非界面的壓力測試
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)上能查詢包相關信息,這里不進行講解。
寫在最后
這個平臺可以頻繁的刷驗證碼接口,這本身就是一個bug。前端的滑動驗證功能就是形同虛設的。
2018/06/04
如果你看到這里,希望你能看一下這一篇博文Jmeter驗證碼圖片識別注冊接口壓力測試實戰(zhàn),希望對你有所收獲
上一篇 | Jmeter驗證碼注冊接口壓力測試實戰(zhàn) | 下一篇 |
---|