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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM