Jmeter 跨執行緒組引數傳遞的方法

今晚打老虎發表於2024-05-16

思路

已知 Jmeter 中的屬性是全域性的,而變數是獨屬於每個執行緒的,無法直接用於其他執行緒組,是否可透過變數->屬性的轉變來實現變數的 “全域性”

所需元件

A 執行緒組:請求元件 +Json 提取器 +BeanShell 後置處理器
B 執行緒組:請求元件

流程

  1. 首先透過 Json 提取對 A 執行緒組內 HTTP 請求後響應進行提取

  2. 配置 BeanShell 後置處理器將 Json 提取器結果由區域性變數轉變為公共屬性,

  3. 測試計劃》使用者定義的變數記憶體儲此公共屬性,並將其轉為全域性變數
    注:變數類引用需使用 ${name}格式,屬性類引用直接使用名稱即可

    可新增 Debug 除錯取樣器檢視提取的 Jmeter 屬性/Jmeter 變數

  4. 最後即可在所有執行緒組內直接引用儲存的全域性變數了

  5. 取樣器結果

檔案中轉法

除上述方法外還可透過將響應儲存至檔案來實現跨執行緒傳遞,但相較而言存在檔案依賴,以簡述記錄:
A 執行緒組將響應儲存至檔案,B 執行緒組透過檔案引數化 + 提取器來獲取變數資訊

相關文章