Jmeter 將正則表達式提取的參數傳給全局(跨線程組使用變量)


一、使用正則表達式提取sessionId

1、在測試計划(跨線程組使用變量)--> 線程組(登錄)--> 添加HTTP請求(登錄接口)

(1)創建測試計划:

勾選獨立運行每個線程組(例如在一個組運行結束后啟動下一個)

 

 

(2)添加線程組,命名登錄

 

(3)添加HTTP請求(登錄接口)

 

 

2、在登錄接口添加--后置處理器(正則表達式提取器)

因為我們是要提取的是這個請求接口返回的響應值,因此添加的是后置處理器正則表達式提取器;

 

 

(1)設置正則表達式提取器:

 

 

() 填寫正則表達式的時候,一個小括號代表一個分組;多個() 則代表多個分組;

(2)需要查看提取器提取出來的值,因此需要添加一個debug Sampler(調試取樣器);

 

 

通過察看結果樹可以看到sid提取成功

 

 

紅框內的是提取出來的值,結尾g代表着分組,1代表着第一個分組;

 

3、在登錄接口添加--后置處理器(BeanShell 后置處理程序)

(1)設置BeanShell 后置處理程序

 

 

(2)這里填入的函數,可以通過函數助手獲取:

 

 

選擇__setProperty 函數:

輸入引用名稱以及獲取的參數

然后點擊生成按鈕

 

 

將生成的函數 拷貝 到 BeanShell 后置處理程序的Script 上

 

二、如何把提取的sid 放入全局變量里面呢?

1、在測試計划下面添加一個HTTP Cookie 管理器,並添加參數

名稱:sessionId

值    :${__P(newtoken)}   # 這里的newtoken是從 BeanShell 后置處理程序編輯函數時定義的

 

 

到這里全局變量已經設置完成了。

 

三、創建另一個線程組(HomePageOne),並添加需要的接口

 

 

添加察看結果樹,運行接口

 

 

這是引用全局變量成功了

如果沒有引用成功的話,如下圖:

 

 

這里需要注意的是:在測試計划中,必須要勾選獨立運行每個線程組(例如在一個組運行結束后啟動下一個)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM