1、HTTP請求預設值介紹
我們在JMeter中編輯測試計劃時,如果有多個Sampler
(取樣器)請求中,引數和設定都是相同的,例如請求服務的IP地址、協議、埠號等,這些資訊重複的配置在每個Sampler
中,就會增加重複工作量和冗餘度,如果以後專案伺服器地址發生改變,修改起來也是非常麻煩的。
HTTP請求預設值(Http Request Defaults
)這個配置元件,可以將這些重複的配置都放在一起,其他的Sampler
請求元件就不需要再配置這些重複的內容,那麼只要將這些資訊留空,這個欄位將自動繼承HTTP請求預設值元件中的值,達到了一次配置重複呼叫的效果。
2、HTTP請求預設值介面
配置元件中的HTTP請求預設值(HTTP Request Defaults
)介面,和取樣器中HTTP請求(HTTP Request
)基本相同。
新增HTTP請求預設值元件:選中“執行緒組”右鍵 —> 新增 —> 配置元件 —> HTTP請求預設值
。
介面如下圖所示:
提示:因為HTTP請求預設值元件的介面和HTTP請求元件的介面基本相同,所以在這裡就不進行說明了。如果想檢視HTTP請求預設值元件介面的詳細說明,請看前面取樣器的相關部落格:文章直達。
3、HTTP請求預設值的使用
(1)用於演示的專案說明
Httpbin
是一個使用Python + Flask
編寫的HTTP Request & Response Service
專案,該服務主要用於測試 HTTP庫,你可以向他傳送請求,然後他會按照指定的規則將你的請求返回(檢視你所傳送請求中的資訊)。
Httpbin
支援HTTP/HTTPS
請求,支援所有的HTTP動詞,能測試HTTP請求和響應的各種資訊,比如 cookie
、ip
、headers
和登入驗證等。
Httpbin
介面地址:http://httpbin.org/
提示:按照規則請求
http://httpbin.org/
,會返回傳送請求報文的完整內容。具體可檢視https://www.cnblogs.com/liuyuelinfighting/p/14788860.html文章,有詳細說明。
(2)測試計劃內包含的元件
新增元件操作步驟:
- 建立測試計劃。
- 建立執行緒組:
選中“測試計劃”右鍵 —> 新增 —> 執行緒(使用者) —> 執行緒組
。 - 線上程組中,新增配置元件"HTTP請求預設值"元件:
選中“執行緒組”右鍵 —> 新增 —> 配置元件 —> HTTP請求預設值
。 - 線上程組裡面,新增取樣器“HTTP請求”元件:
選中“執行緒組”右鍵 —> 新增 —> 取樣器 —> HTTP請求
。 - 線上程組裡面,新增監聽器“察看結果樹”元件:檢視結果,
選中“執行緒組”右鍵 —> 新增 —> 監聽器 —> 察看結果樹
。
最終測試計劃中的元件如下:
點選執行按鈕,會提示你先儲存該指令碼,指令碼儲存完成後會直接自動執行該指令碼。
(3)說明HTTP請求預設值用法
我們需要把每個請求的公共引數,提取到HTTP請求預設值元件中。
如下圖所示:
然後在每個請求的元件中,編輯自己獨有的資訊即可。
例如,編寫每個請求中獨有的訪問路徑,和所需的傳遞引數等。
如下圖所示:
而在HTTP請求預設值元件中配置的引數,在這裡都不用重複填寫,留空就可以,會自動的繼承HTTP請求預設值元件中的配置。
如果此時請求取樣器中填寫了和HTTP請求預設值元件中配置相同的選項,則以當前取樣器的配置為準。
(其他請求同理)
4、總結
配置元件中的HTTP請求預設值(HTTP Request Defaults
)介面,和取樣器中HTTP請求(HTTP Request
)基本相同,所以該元件可以為HTTP請求設定預設值。
優先順序說明:
- JMeter支援在一個測試計劃中新增多個HTTP請求預設值元件,多個HTTP請求預設值元件中的值會合併疊加。
- 在相同作用域內,若有多個HTTP請求預設值元件,如果配置了相同的選項,預設使用第一個HTTP請求預設值元件中定義的資訊。
5、擴充知識
這裡我們擴充一下配置元件中使用者定義的變數(User Defined Variables
)元件的用法。
使用者定義的變數元件和HTTP請求預設值元件的用法基本一樣。
- HTTP請求預設值元件:管理測試計劃中相同的請求配置,作用域範圍內的
sample
請求無需重複配置。 - 使用者定義的變數元件:管理測試計劃中不相同的請求配置,其他的
Sample
請求直接引用變數即可,方便對變數的統一管理。
參考:https://blog.csdn.net/m0_38039437/article/details/104112804