1. 程式人生 > >如何使用jMeter發送兩個邏輯上相關的HTTP請求

如何使用jMeter發送兩個邏輯上相關的HTTP請求

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請求