如何使用jMeter發送兩個邏輯上相關的HTTP請求
阿新 • • 發佈:2018-05-06
Java jMeter 高並發 性能測試 微服務 在前一篇文章使用jMeter構造大量並發的隨機HTTP請求裏我通過jMeter構造了大量的HTTP GET並發請求,對服務器產生了大量讀操作。
現在我有另一個需求場景:假設我開發了一個創建Service Request的微服務,需要使用HTTP post調用。為了防止Cross Site Request Forgery(跨站域請求偽造),這個微服務調用時需要傳一個XSRF token,這個XSRF token需要另一個HTTP get請求從服務器請求。
因此,這裏存在兩個邏輯上相關的HTTP請求:
1. 先調用HTTP get從服務器讀取XSRF token
2. 將第一步獲得的XSRF token作為HTTP post 請求頭部的一個參數傳至服務器。
用jMeter怎麽實現這個場景呢?
總的思路就是使用Transaction Controller,將http get請求和http post請求包在一起,如下圖所示。
在第一個http get請求裏,使用HTTP頭部參數x-csrf-token去讀取token。
創建一個參數jerrycsrftoken,使用正則表達式將服務器通過HTTP響應頭部返回的token解析出來並保存。
然後創建第二個HTTP post請求,在請求頭部使用第一個請求創建的參數jerrycsrftoken即可。
這是我HTTP post請求的body內容,裏面使用了jMeter自帶的隨機數發生器作為創建成功的Service Request的後綴。
最後使用jMeter成功創建的Service Request在系統顯示如圖:
要獲取更多Jerry的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:
如何使用jMeter發送兩個邏輯上相關的HTTP請求