作用:可以從請求的響應結果中取到需要的內容,從而實現關聯。
jmeter正規表示式提取器控制面板,截圖如下:
位置1:名稱及注釋
引用名稱:其他地方引用提取值的變數名稱,如填寫的是:str,具體的引用方式是$
正規表示式:提取內容的正規表示式【稍注意一下:()表示提取,對於你要提前的內容需要用小括號括起來】
模板:用$$引用起來,如果在正規表示式中有多個正規表示式(多個括號括起來的東東),則可以是$1$, $2$,$3$等等,
表示解析到的第幾個值給str
匹配數字(0代表隨機):0代表隨機,-1代表所有,其餘正整數代表將在堅持的內容中,第幾個匹配的內容提取出來。
預設值:正則匹配失敗時,取的值
詳解jmeter 正規表示式
術語理解:
包含(contains)意味著正規表示式至少部分匹配目標。例如:」alphabet」包含」ph.b」;
匹配(matches)意味著正規表示式完全匹配目標,例如:」alphabet」匹配「al.*t「;
在這一情況下,它等同於使用^和$封裝正規表示式,即「^al.t$」。但是事情並不總是這樣
eg:正規表示式」alp.lp.*」包含於」alphabet」,但並不匹配」alphabet」;
原因在於當範本匹配器在」alphabet」中找到序列」alp」後,就會停止嘗試其他組合,
而且」alp」不同於」alphabet」,它不包含」habet「
例項1).提取單個字串
期望匹配web頁面的如下部分:
name=」file」 value=」readme.txt」> 並提取readme.txt
符合要求的正規表示式:name=「file」value=」(.+?)」 >
上面用到的特殊字元包括如下幾個:
( ):封裝了待返回的匹配字串;
.:匹配任何字元
+:一次或多次
?:在找到第乙個匹配項後停止
若沒有?在找到第乙個》後,會繼續尋找,直到最後乙個」>」;
優化,提高效率:name=」file」 value=」([^」]+)」>,其中[^」]意味著匹配任何東西,除了」,
此種情況下,匹配引擎在找到第乙個右側」後,就會停止搜尋
而上面例子中的匹配引擎會去尋找」>
2). 提取多個字串
期望匹配web頁面的如下部分:
name=」file」 value=」readme.txt」> 並提取file.name和readme.txt
符合要求的正規表示式:name=」([^」]+)」 value=」([^」]+)」
這會建立兩個組合,並可用於jmeter正規表示式模版,形如$1$$2s
3).關鍵字
() : 組合
[ ] :字元集合
{} :重複
+? :重複
*:任意匹配字元
\ :轉義字元
|-:選擇符
^$:字串或行的起始和結尾
JMeter之正規表示式提取器
以網頁交易平台為例子,說明正規表示式提取器如何工作。業務邏輯是這樣子的 login頁面輸入賬號 密碼登陸,伺服器返回乙個token。3秒內使用賬號和token想伺服器發請求,伺服器開始通過websocket不斷推送 資訊。通過網頁下單,實際就是想伺服器發乙個請求,包含訂單資訊和賬戶資訊,也是需要帶上...
JMeter之正規表示式提取器
以網頁交易平台為例子,說明正規表示式提取器如何工作。業務邏輯是這樣子的 login頁面輸入賬號 密碼登陸,伺服器返回乙個token。3秒內使用賬號和token想伺服器發請求,伺服器開始通過websocket不斷推送 資訊。通過網頁下單,實際就是想伺服器發乙個請求,包含訂單資訊和賬戶資訊,也是需要帶上...
jmeter之正規表示式提取器
簡單用法 首先看資料,下個介面需要提取這裡的probjectid,作為引數去請求 做法是在這個請求下面新增正規表示式提取器,引用變數名 用法和json提取器一樣,引用變數這裡命名probjectid,使用 正規表示式 會自動匹配對應的值,由於要取的是probjectid對應的值,在正規表示式裡輸入 ...