正則提取器的一般使用場景是, 在我第二個請求引數中需要加入第乙個請求的返回值, 此時通過正則提取器可以提取第乙個請求返回值中指定的字段資訊並賦值, 在第二個請求引數中直接引用該變數即可jmeter的正則提取器截圖如下:
簡單介紹下其中幾個比較重要的字段的資訊, 如下表
引數釋義
引用名稱
在http等請求中,引用此資料,需要用到的名稱
正規表示式
用於將需要的資料提取出來, 一般簡單的通用語法就是:
左邊界(.*?)右邊界
, 其中(.*?)
是替換了想要提取的內容,裡面的'?'
為非貪婪匹配
模板表示正規表示式中的第幾個提取值:
$負數$
:表示取所有值
$0$
:表示隨機取值
$1$
:表示取第1個
$2$
:表示取第二個
$1$$2$
: 表示第乙個和第二個拼接起來
以此類推:$n$
:表示取第n個
例如"token":"(.*?)","***":(.*?),"username"
,$1$
表示前乙個匹配值,$2$
表示第二個匹配值 ,如果只有乙個正規表示式提取值, 直接使用$1$
匹配即可
匹配數字(0代表隨機)
返回匹配結果陣列的某個元素,0
代表隨機取值,1
代表第乙個值,負數
表示返回全部元素
預設值預設值, 即沒有匹配到值時的預設值
接下來看下實際的使用,
如圖所示, 取登入後返回的ticket值, 此時因為方便說明, 使用"(.*?)"
來獲取返回值中雙引號之間的內容:
新增debug元件, 展示debug資訊如下,
此時,$
表示取的是第一列的值, 第一列是由模板上的$1$
確定的,
此時match no設定為-1
,表示會返回所有匹配值陣列的元素, 可以看到返回有三個元素分別為$
,$
,$
此時, 若有多行資料, 且模板處設定的為$1$
, 如果選擇第乙個陣列元素, 則:
•$
取的都是第乙個匹配值的第一列全部的資料
•$
取的是第乙個匹配值的第一列第一行的資料,
•$
取的是第乙個匹配值的第一列第二行的資料,
*$
取的是第二個匹配值的第一列第一行的資料,
再來看乙個比較簡單的正則, 如下, 只取匹配值中的第乙個元素:
match no設定為1
, 表示只會選擇返回的匹配值陣列當中的第乙個元素, 直接使用$
表示即可, 此時, 若有多行資料, 且模板處設定的為$1$
, 則:
•$
取的都是第一列全部的資料
•$
取的是第一列第一行的資料,
•$
取的是第一列第二行的資料,
jmeter 正則提取器
最近在使用jmeter自動獲取網頁位址的時候,使用了正規表示式提取器,這裡通過三個例子記錄下來正規表示式提取器的高階用法。一來作為自己的備忘,二來也分享出來,供那些需要用到這些功能的朋友參考。定義說明 引用名稱 image表示變數名,不用多說 正規表示式 這裡的一對括號就是乙個模板,兩對括號就是兩個...
Jmeter中正規表示式提取器使用詳解
在使用jmeter過程中,會經常使用到正規表示式提取器提取器,雖然並不直接涉及到請求的測試,但是對於資料的傳遞起著很大的作用,本篇博文就是主要講解關於正規表示式及其在jmeter的sampler中的呼叫。一 首先來介紹一下j meter中正規表示式提取器的元素組成,下圖所示 下面是各引數值的含義 引...
Jmeter中正規表示式提取器使用詳解
在使用jmeter過程中,會經常使用到正規表示式提取器提取器,雖然並不直接涉及到請求的測試,但是對於資料的傳遞起著很大的作用,本篇博文就是主要講解關於正規表示式及其在jmeter的sampler中的呼叫。一 首先來介紹一下j meter中正規表示式提取器的元素組成,下圖所示 下面是各引數值的含義 引...