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

i042416發表於2018-04-27

在前一篇文章使用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請求包在一起,如下圖所示。

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

在第一個http get請求裡,使用HTTP頭部引數x-csrf-token去讀取token。

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

建立一個引數jerrycsrftoken,使用正規表示式將伺服器通過HTTP響應頭部返回的token解析出來並儲存。

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

然後建立第二個HTTP post請求,在請求頭部使用第一個請求建立的引數jerrycsrftoken即可。

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

這是我HTTP post請求的body內容,裡面使用了jMeter自帶的隨機數發生器作為建立成功的Service Request的字尾。

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

最後使用jMeter成功建立的Service Request在系統顯示如圖:

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

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2153465/,如需轉載,請註明出處,否則將追究法律責任。

相關文章