1. 程式人生 > 其它 >效能測試:Jmeter壓測過程中的簡訊驗證碼讀取

效能測試:Jmeter壓測過程中的簡訊驗證碼讀取

效能測試:Jmeter壓測過程中的簡訊驗證碼讀取

01問題背景

現如今國內的大部分軟體或者網站應用,普遍流行使用簡訊業務,比如登入、註冊以及特定的業務通知等。

對於這些業務,在使用Jmeter進行效能測試的過程中,就會需要自動獲取和填入簡訊驗證碼,否則效能流程無法進行下去。由於絕大多數的系統其簡訊驗證碼並不會在介面返回中,因此如何獲取簡訊驗證碼是一個問題。

最簡單的做法,是讓開發在測試環境將驗證碼寫死,在測試過程中固定使用靜態驗證碼字串。

不過求人不如求己~也是出於儘量貼近真實使用者場景的目的,更合適的做法還是通過技術手段動態獲取並填寫簡訊驗證碼。



02解決思路

大多數應用的簡訊驗證碼都是通過第三方服務

來發送的,如前文所言一般不會通過本地介面返回。但是但凡設計過關的系統應該會將簡訊驗證碼存留於資料庫當中進行留底和備份。

因此我們可以通過Jmeter去連線資料庫,並通過合理的邏輯獲取相應的驗證碼。

通常我們使用Jmeter更多的是測試HTTP和FTP等協議,但其實除這些之外,Jmeter還支援許多其他種協議,JDBC就是常見的一種。因此以上需求應該完全能夠實現。



03實現方法

1. 建立JDBC連線

在Jmeter測試計劃中,新增配置元件-JDBC連線配置(JDBC Connection Configuration),用於管理資料庫連線。

2. 使用JDBC請求獲取驗證碼

線上程組中,新增取樣器-JDBC請求,進行資料庫查詢。

取到的結果:

3. 使用正則將驗證碼提取並使用

以上提取到的資料庫記錄中,只有969386是我們需要的驗證碼,因此需要用正則表示式提取器將他提取出來:

到此,後續的請求使用${mcode}就可以使用獲取到的驗證碼繼續測試了