在前一篇文章使用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的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼: