jmeter(十二)關聯之正規表示式提取器

2022-06-10 15:09:13 字數 4033 閱讀 8701

在jmeter中,可以利用正規表示式提取器來幫助我們完成這一動作。

首先:在預設的測試計畫中新增乙個執行緒組,然後新增取樣器,這裡我以jdbc請求做例子:

然後:右鍵新增後置處理器→正規表示式提取器,正規表示式提取器介面如下:

說明:後置處理器:在請求結束或者返回響應結果時發揮作用

正規表示式提取器:允許使用者從伺服器的響應中通過使用perl的正規表示式提取值。該元素會作用在指定範圍取樣器,用正規表示式提取所需值,生成模板字串,並將結果儲存到給定的變數名中。

main sample and sub-samples:作用于父節點的取樣器及對應子節點的取樣器

main sample only:僅作用于父節點的取樣器

sub-samples only:僅作用於子節點的取樣器

jmeter variable:作用於jmeter變數(輸入框內可輸入jmeter的變數名稱)

要檢查的響應字段:需要檢查的響應報文的範圍

主體:響應報文的主體

body(unescaped):主體,響應的主體內容且替換了所有的html轉義符,注意html轉義符處理時不考慮上下文,因此可能有不正確的轉換,不太建議使用 

body as a document:從不同型別的檔案中提取文字,注意這個選項比較影響效能 

response headers:響應資訊頭

request headers:請求資訊頭

url:統一資源定位符,即internet上用來描述資訊資源的字串

response code:響應狀態碼,比如200、404等

response message:響應資訊

ps:jmeter的中文翻譯有時候不太準確,建議盡量選擇語言格式為英文(為了方便說明,這裡選擇中文語言,當然,自己明白最好,不用糾結這個)

引用名稱(reference name):jmeter變數的名稱,儲存提取的結果;即下個請求需要引用的值、字段、變數名(例子中我提取的是social_no)

引用方法:引用方法:$

正規表示式(regular expression):使用正規表示式解析響應結果,「()」表示提取字串中的部分值,請不要使用「||」,除非你本身需要匹配這個字元。

下面是常用的正規表示式操作符:

模板(template):從匹配的結果中建立乙個字串,這是通過正規表示式匹配出來的一組值,意為使用提取到的第幾個值(可能有多個值匹配,因此使用模板);從1開始匹配,以此類推.

引數可以在取值模板組合使用,例如:「1

'>1

1-2'>2

2」作為模板得到的值是使用「-」連線的第乙個待匹配內容與第二個待匹配內容組合而成的字串。

匹配數字(match no):正規表示式匹配資料的結果可以看做乙個陣列,表示如何取值:0代表隨機取值,正數n則表示取第n個值(比如1代表取第乙個值),負數則表示提取所有符合條件的值。

預設值:匹配失敗時候的預設值;通常用於後續的邏輯判斷,一般通常為特定含義的英文大寫組合,比如:error

最後,根據上面的說明,完成配置,然後可以先新增乙個監視器(檢視結果樹),檢查是否取到了對應的值;

提取到的引數,呼叫時用$,$...,如果想要得到匹配出的引數的個數,用$,如果想隨機選取乙個,只需要將

匹配數字設為0,使用$呼叫即可。

同型別部落格推薦:

在jmeter中,可以利用正規表示式提取器來幫助我們完成這一動作。

首先:在預設的測試計畫中新增乙個執行緒組,然後新增取樣器,這裡我以jdbc請求做例子:

然後:右鍵新增後置處理器→正規表示式提取器,正規表示式提取器介面如下:

說明:後置處理器:在請求結束或者返回響應結果時發揮作用

正規表示式提取器:允許使用者從伺服器的響應中通過使用perl的正規表示式提取值。該元素會作用在指定範圍取樣器,用正規表示式提取所需值,生成模板字串,並將結果儲存到給定的變數名中。

main sample and sub-samples:作用于父節點的取樣器及對應子節點的取樣器

main sample only:僅作用于父節點的取樣器

sub-samples only:僅作用於子節點的取樣器

jmeter variable:作用於jmeter變數(輸入框內可輸入jmeter的變數名稱)

要檢查的響應字段:需要檢查的響應報文的範圍

主體:響應報文的主體

body(unescaped):主體,響應的主體內容且替換了所有的html轉義符,注意html轉義符處理時不考慮上下文,因此可能有不正確的轉換,不太建議使用 

body as a document:從不同型別的檔案中提取文字,注意這個選項比較影響效能 

response headers:響應資訊頭

request headers:請求資訊頭

url:統一資源定位符,即internet上用來描述資訊資源的字串

response code:響應狀態碼,比如200、404等

response message:響應資訊

ps:jmeter的中文翻譯有時候不太準確,建議盡量選擇語言格式為英文(為了方便說明,這裡選擇中文語言,當然,自己明白最好,不用糾結這個)

引用名稱(reference name):jmeter變數的名稱,儲存提取的結果;即下個請求需要引用的值、字段、變數名(例子中我提取的是social_no)

引用方法:引用方法:$

正規表示式(regular expression):使用正規表示式解析響應結果,「()」表示提取字串中的部分值,請不要使用「||」,除非你本身需要匹配這個字元。

下面是常用的正規表示式操作符:

模板(template):從匹配的結果中建立乙個字串,這是通過正規表示式匹配出來的一組值,意為使用提取到的第幾個值(可能有多個值匹配,因此使用模板);從1開始匹配,以此類推.

引數可以在取值模板組合使用,例如:「1

'>1

1-2'>2

2」作為模板得到的值是使用「-」連線的第乙個待匹配內容與第二個待匹配內容組合而成的字串。

匹配數字(match no):正規表示式匹配資料的結果可以看做乙個陣列,表示如何取值:0代表隨機取值,正數n則表示取第n個值(比如1代表取第乙個值),負數則表示提取所有符合條件的值。

預設值:匹配失敗時候的預設值;通常用於後續的邏輯判斷,一般通常為特定含義的英文大寫組合,比如:error

最後,根據上面的說明,完成配置,然後可以先新增乙個監視器(檢視結果樹),檢查是否取到了對應的值;

提取到的引數,呼叫時用$,$...,如果想要得到匹配出的引數的個數,用$,如果想隨機選取乙個,只需要將

匹配數字設為0,使用$呼叫即可。

同型別部落格推薦:

jmeter 正規表示式關聯

1 當伺服器返回的動態變化而且對業務有影響的需要關聯 2 檢視指令碼是否正確,看其中是否有動態資料影響 3 看一大串字串每次請求引數是否有變化 4 問問開發,需要關聯 5 介面的入參都是有 要麼手動輸入的,要麼是當前介面的前乙個或者前幾個介面響應中來的,要麼是固定的 1 就是取值 2 確定左右邊界值...

jmeter 正規表示式的關聯

在工作中,用jm錄製了登入 退出的指令碼,但是多次請求後發現,總是返回的錄製指令碼的時候使用的賬號的資料。經過研究發現,login後,響應裡的每次返回的token值是變化的,順著往下看,下乙個請求中傳送出去的token卻一直是同乙個不變。fxxk!於是,1.在login上新增正規表示式,提取出每次變...

五 Jmeter 關聯(正規表示式)

一 什麼時候需要關聯?1.伺服器返回的動態變化而且對業務有影響的需要關聯。2.回放指令碼看是否正確,檢查下指令碼,是否有動態資料影響 3.一大串字串,每次請求引數是否有變化 4.可以找開發問問,介面是開發做的,最清楚了 二 jmeter中的關聯元件可以幫助我們從伺服器響應資料中找到我們需要的資料,把...