執行緒組之間的JMeter傳遞變數
下面,我們將看看如何線上程組之間共享和傳遞變數。
在開發高階JMeter指令碼時,很可能您將擁有多個執行緒組。每個執行緒組將執行不同的請求。
一個很好的例子是我們需要使用Bearer Tokens對使用者進行身份驗證。一個執行緒組執行身份驗證並儲存令牌。另一個執行緒組需要訪問此令牌並在另一個請求中使用它。
因此,我們需要一種線上程組之間傳遞變數的機制。
在JMeter中傳遞執行緒組之間的變數
對於此示例,我們的測試計劃將具有兩個執行緒組。第一個執行緒組向Web服務發出GET請求。然後,我們使用JSON Extractor外掛來解析JSON響應。
使用JSONPath,我們提取特定鍵的值並將其儲存為JMeter變數。
這就是我們的JMeter請求的樣子:
上述請求的結果以JSON格式生成以下響應
和我們的JSONPath提取第一個url看起來像
JSONPath查詢的值儲存為
first_url
。此變數只能在同一個執行緒組中訪問,我們可以透過使用獲取其值
${first_url}
。現在,我們如何透過其他執行緒組訪問此變數?
答案是用於
BeanShell Assertion
將變數儲存為全域性屬性。透過這種方式,我們可以線上程組之間傳遞變數。
要新增BeanShell斷言,請右鍵單擊Test Plan> Add> Assertion> BeanShell Assertion
在我們的BeanShell斷言中,我們可以輸入以下程式碼
${__setProperty(first_url, ${first_url})};
現在線上程組2中,我們可以使用
${__property(first_url)}
如下所示直接訪問此變數:
或者,我們可以使用BeanShell PreProcessor來操作變數
在BeanShell PreProcessor中,我們可以透過使用來訪問從另一個Thread組傳入的變數
props.get("name_of_variable")
。然後我們可以執行一些String操作並將結果儲存為新變數。
在上面的例子中,我們
http://
從Thread Group 1傳遞的變數中刪除了,我們將結果儲存為變數
host
。
該變數
host
現在是執行緒組2的本地變數,並使用
${host}
如下所示直接訪問它:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902459/viewspace-2284952/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Jmeter 跨執行緒組引數傳遞的方法JMeter執行緒
- Jmeter將token設定為全域性變數並跨執行緒進行傳遞引數JMeter變數執行緒
- Jmeter-全域性變數跨執行緒組使用JMeter變數執行緒
- Jmeter(五十二) - 從入門到精通高階篇 - jmeter之跨執行緒組傳遞引數(詳解教程)JMeter執行緒
- jmeter學習指南之詳解jmeter執行緒組JMeter執行緒
- Jmeter-執行緒組下篇JMeter執行緒
- 通過transmittable-thread-local原始碼理解執行緒池執行緒本地變數傳遞的原理MITthread原始碼執行緒變數
- c++ 執行緒函式傳遞資料 物件和變數C++執行緒函式物件變數
- java中如何給多執行緒中子執行緒傳遞引數?Java執行緒
- (MFC)子執行緒的資料如何傳遞給主執行緒中?執行緒
- JMeter執行緒組編輯區揭祕JMeter執行緒
- Jmeter系列(45)- 詳解 Jmeter 跨執行緒組取引數值的方法,免程式碼!JMeter執行緒
- 多執行緒之間通訊及執行緒池執行緒
- 多執行緒(2)-執行緒同步條件變數執行緒變數
- 多執行緒之間的通訊執行緒
- JUC之執行緒間的通訊執行緒
- 手撕Java多執行緒(四)執行緒之間的協作Java執行緒
- 執行緒間通訊就是讀寫同一個變數執行緒變數
- jmeter 壓測中,執行緒組和併發數的關係,以及 loop 的含義JMeter執行緒OOP
- iOS GCD執行緒之間的通訊iOSGC執行緒
- AbilitySlice之間的傳遞值
- c++ 執行緒函式傳遞資料 namespaceC++執行緒函式namespace
- java執行緒安全問題之靜態變數、例項變數、區域性變數Java執行緒變數
- 『動善時』JMeter基礎 — 38、JMeter中實現跨執行緒組關聯JMeter執行緒
- python之 threading(多執行緒)模組Pythonthread執行緒
- 多執行緒06:條件變數執行緒變數
- 用這4招 優雅的實現Spring Boot 非同步執行緒間資料傳遞Spring Boot非同步執行緒
- Vue父子之間的值傳遞Vue
- java多執行緒5:執行緒間的通訊Java執行緒
- 程式和執行緒有什麼區別?(Process and Threads)程式之間和執行緒之間是如何通訊的?執行緒thread
- 執行緒控制之休眠執行緒執行緒
- InheritableThreadLocal 線上程池中進行父子執行緒間訊息傳遞出現訊息丟失的解析thread執行緒
- 執行緒模組執行緒
- java多執行緒之執行緒的基本使用Java執行緒
- Android開發之執行緒間通訊Android執行緒
- Python執行緒條件變數Condition解析Python執行緒變數
- python多執行緒-共享全域性變數Python執行緒變數
- 效能分析之使用者數(執行緒數)/響應時間/TPS的關係執行緒