jmeter經常使用配置元件

1.做用:配置元件提供對靜態數據的支持。
2.做用域:配置元素只能被元素所在的樹枝上的元素訪問;子樹的配置元件比父級的優先級高。
3.執行順序:配置元件在它所在層級是第一個執行,即在最開始被執行,在相同範圍內的任何取樣器以前執行。正則表達式

HTTP信息頭管理器

1.添加「HTTP信息頭管理器」

在線程組/測試計劃-右鍵【添加】-配置元件-HTTP信息頭管理器chrome

2.使用抓包工具獲取請求的HTTP信息頭

1.png

3.根據抓包獲取的HTTP信息頭填寫

以下圖:
1)Authorization帶的token值必須傳輸給請求才能使用戶正常訪問登陸後纔有權限訪問的內容;這裏的token值使用了關聯取值。
2)若是是json格式的參數,須要在HTTP信息頭管理器中添加Content-Type值爲application/json,不然會報錯「系統網絡異常,請稍後再嘗試!」
image.png
能夠在錄製時獲取的信息頭內容能夠不手動傳,不能獲取的信息頭能夠繼續添加。json

二.HTTP Cookie 管理器

1.添加HTTP Cookie 管理器

在線程組/測試計劃-右鍵【添加】-配置元件-HTTP Cookie 管理器小程序

2.抓包獲取請求體的cookie信息

chrome瀏覽器訪問時,使用F12-開發者工具抓包,以下使用chrome開發者工具:分別顯示了接口的cookie名稱、cookie的Value值、域名、路徑
image.png瀏覽器

image.png
這些信息須要從登陸接口的返回體中關聯獲取。緩存

3.配置HTTP Cookie 管理器

根據抓包獲取的請求體中的信息,若是傳輸內容包含cookie信息如JSESSIONID,則必須將JSESSIONID配置到HTTP Cookie 管理器中,才能使用戶正常訪問登陸後纔有權限訪問的內容。
1)選項:安全

  • 每次反覆清除Cookies?:每次線程組運行時,都會清除 cookie。
  • Use Thread Group configuration to control cookie clearing:使用線程組的設置來控制清除cookie,建議與線程組設置中的不勾選Same user on each iteration一塊兒使用來模擬每次迭代登陸使用不一樣session登陸的狀況。

2)Cookie策略:建議選擇compatibility,兼容性強。服務器

3)存儲在Cookie管理器中的Cookiecookie

  • 名稱:響應體cookie中的參數名稱
  • 值:響應體cookie中的參數值(可能須要正則表達式來關聯取得)
  • 域:填寫IP或域名
  • 路徑:響應體cookie中的Path,表示該路徑下的全部請求均可以用。

image.png

三.HTTP緩存管理器

1.添加HTTP緩存管理器

在線程組/測試計劃-右鍵【添加】-配置元件-HTTP 緩存管理器
image.png
用於模擬瀏覽器的緩存功能,測試計劃運行過程當中會使用Last-Modified、ETag和Expired等決定是否從Cache中獲取對應元素。網絡

  • Cache:通常指的是瀏覽器的緩存。
  • Last-Modified:文件在服務端最後被修改的時間。
  • ETag:在HTTP協議規格說明中定義爲:被請求變量的實體標記。
  • Expired:給出的日期/時間以後;通常結合Last-Modified一塊兒使用,用於控制請求文件的有效時間。

2.配置HTTP緩存管理器

1)名稱:自定義
2)在每次迭代中清除緩存?:每次線程組運行時,都會清除 cookie。
3)Use Thread Group configuration to control cookie clearing:使用線程組的設置來控制清除cookie。建議與線程組設置中的不勾選Same user on each iteration一塊兒使用來模擬每次迭代登陸使用不一樣session登陸的狀況。
4)Use Cache-Control/Expires header when processing GET requests:對照當前時間檢查「Cache-Control/Expires」值。當是GET請求,而且時間戳記在緩存以後,則取樣器將當即從緩存中取後返回,而無需從遠程服務器請求URL。若是Cache-Control標頭爲「 no-cache 」,則響應將在過時時存儲在緩存中,再次進行GET請求時將從新請求遠程服務器。
image.png

image.png
5)緩存中元素的最大數量:每一個虛擬用戶線程都有本身的緩存。默認狀況下,緩存管理器在每一個虛擬用戶線程的緩存中最多存儲5000個項目

四.HTTP請求默認值

1.添加HTTP請求默認值

在線程組/測試計劃-右鍵【添加】-配置元件-HTTP 請求默認值
image.png

image.png

2.配置HTTP請求默認值

1)名稱:自定義
2)基礎

  • Web服務器協議:目標服務器發送請求所採用的協議,HTTP或HTTPS,默認HTTP。
  • Web服務器名稱或IP:請求發送的目標服務器名稱或地址。
  • Web服務器端口號:目標服務器的端口號,默認80。
  • HTTP請求路徑:目標URL路徑(不包括服務器地址和端口)。
  • 參數/消息體數據:同請求一塊兒發送的參數。

3)高級

  • 客戶端實現:
  • 從HTML文件嵌入資源:勾選後,解析HTML文件併發送全部資源請求(包括圖片、JAVA小程序、JS、CCS等),默認不選中;能夠經過「網址必須匹配(Embedded URLs must match)」 文本框中填入須要下載的特定資源表達式,來匹配指定正則表達式須要下載URL指向資源。
  • 源地址:
  • 代理服務器:代理服務器信息
  • 其餘任務-保存響應爲MD5哈希:

注意:一個測試計劃中能夠有多個HTTP請求默認值,多個默認值會被疊加發送。

五.HTTP受權管理器

1.添加HTTP受權管理器

在線程組/測試計劃-右鍵【添加】-配置元件-HTTP 受權管理器
1.png

2.配置HTTP受權管理器

用於設置自動對須要驗證的頁面進行驗證和登陸。
1)選項:

  • 每次反覆清除認證?:每次線程組運行時,都會清除認證。
  • Use Thread Group configuration to control clearing:使用線程組的設置來控制清除。

2)存儲在受權管理器中的受權:

  • 基礎URL:須要使用認證頁面的基礎URL,當取樣器訪問它時,jmeter會使用定義的username和password進行認證和登陸。
  • 用戶名:用於認證和登陸的用戶名。
  • 密碼:用於認證和登陸的口令。
  • 域:身份認證頁面的域名。
  • Realm:Realm字串。
  • Mechanism:機制。提供4種認證機制:

    • BASIC_DIGEST:HTTP協議並無定義相關的安全認證方面的標準,而BASIC_DIGEST是一套基於http服務端的認證機制,保護相關資源避免被非法用戶訪問,若是你要訪問被保護的資源,則必須要提供合法的用戶名和密碼。它和HTTPS沒有任何關係(前者爲用戶認證機制,後者爲信息通道加密)。
    • BASIC:
    • DIGEST:
    • KERBEROS:一個基於共享祕鑰對稱加密的安全網絡認證系統,其避免了密碼在網上傳輸,將密碼做爲對稱加密的祕鑰,經過可否解密來驗證用戶身份。
相關文章
相關標籤/搜索