提供的測試網址為: /security/register
使用Chrome瀏覽器,先將瀏覽器的cookies緩存清空。
清空後,打開待測試的網址,按F12鍵,輸入要註冊的手機號碼,如“18300987622”,點擊“發送驗證碼”,可以看到請求的接口為: /security/smsCode.do ,請求的參數為json格式的數據:{"mobile":"18300987622","func":"register","isValidate":"1","memKey":"register-18300987622","memValue":"7F4BEC3A-BE2F-48C7-91ED-33887E186C87"},在知道接口後,就可以開始我們的接口測試了。
默認環境已經有的條件下(這裏不對jmeter運行環境如何搭建做過多的描述,請自行上網查找環境搭建的相關資料),雙擊jmeter.bat。出現如下界面設置工具的顯示語言,Options→Chose Language→Chinese
完成上述步驟後,創建HTTP請求,包括:HTTP請求頭,HTTP請求體以及察看結果樹
1、在測試計劃中添加線程組
2、在線程組中添加配置元件,HTTP信息頭管理器,將剛才註冊頁面的請求頭選中並且復制,在HTTP信息頭管理器中單擊“Add from Clipboard”完成請求頭的復制
3、在線程組中添加HTTP請求,請求的請求體為圖下內容
4、線程組添加察看樹,點擊啟動按鈕,查看請求結果
5、為響應結果添加斷言,只有響應結果中包含"msg":"短信發送成功"的響應數據,這個請求才算是成功
模擬5個用戶執行以上的測試過程,我們發現只有第壹次是成功的,其余的返回"msg":"短信驗證碼發送過於頻繁"
發現原來是每個請求的請求手機號是壹樣的,導致失敗
這時候可以使用配置元件,CSV數據文件設置每次請求的手機號是不同的,在這裏我準了壹份手機號碼的excel文件,需要註意的是保存這個文件的時候要保存成.CSV格式的,這裏我將這份文件放到jmeter的examples目錄下
在CSV數據文件配置中填寫如下信息,然後修改驗證碼接口中HTTP請求的請求體,最後再執行壹次,發現每次請求使用的手機號是不同的,並且請求成功
修改線程組參數,添加聚合報告等,對接口進行壓力測,這裏可以把察看結果樹禁用了,因為在請求很多的情況下,會影響工具性能。最後等結果
需要註意的是啟動jmeter.bat提示的那段話,壓力測試要用非界面模式,界面模式用來生成腳本,調試沒有問題了,再進行非界面的壓力測試
這部分內容網上能查詢包相關信息,這裏不進行講解。
這個平臺可以頻繁的刷驗證碼接口,這本身就是壹個bug。前端的滑動驗證功能就是形同虛設的。
如果妳看到這裏,希望妳能看壹下這壹篇博文 Jmeter驗證碼圖片識別註冊接口壓力測試實戰 ,希望對妳有所收獲