jmeter正規表示式書寫

2022-04-25 13:46:33 字數 1927 閱讀 5189

在測試過程中,經常會有以下幾種場景,如a介面的返回值,用於b介面中,而且a登陸的賬戶,每次登陸,這個sid值還是變化的。那麼在實際工作中,如何才能a介面中提取引數到b介面中?接下來我們就可以用正規表示式來解決這個問題。

場景如下,乙個登陸介面,登陸後要使用該賬號去購買標,買標的時候要使用a的登陸資訊值。通過介面抓包,我們分析返回值如下:

我們知道要提取的值巍sid。接下來我們就簡單說明正規表示式的使用方法:

說明:(1)引用名稱:下乙個請求要引用的引數名稱,如填寫atask,則可用$引用它。

(2)正規表示式:

():括起來的部分就是要提取的。

.:匹配任何字串。

+:一次或多次。

?:不要太貪婪,在找到第乙個匹配項後停止。

(3)模板:用$$引用起來,如果在正規表示式中有多個正規表示式,則可以是$2$$3$等等,表示解析到的第幾個值給title。如:$1$表示解析到的第1個值

(4)匹配數字:0代表隨機取值,1代表全部取值,通常情況下填0

(5)預設值:如果引數沒有取得到值,那預設給乙個值讓它取,我填的error。

還有一種方法,可以判斷我們的正規表示式有沒有錯誤。

使用方法截圖:

jmeter中使用如下:

補充例子:

案列:通過jmeter傳送乙個http請求後,如何來獲取響應結果內容值?

常見場景一:比如說傳送乙個投標的請求,返回是一串json串,因想判斷響應結果是否正確,所以可以通過獲取result的值(因result =1 時,說明投標成功),其中響應結果格式如下:},或者判斷msg內容也可。

常見場景二:

有a、b兩個介面,其中b介面的輸入引數**於a介面的響應結果,此時也需要提取到a介面的響應字段值

言歸正傳,如何獲取呢?通常可以使用「正規表示式提取器」、beanshell postprocessor等來進行,在此使用的是正規表示式來進行提取,

1、新增乙個http請求,設定如下:

2、在該http請求下,新增乙個正規表示式提取器,具體設定如下圖所示:

名詞解釋:

要檢查的響應字段:樣本資料來源

引用名稱:其他地方引用時的變數名稱,引用方法:$

正規表示式:資料提取器

模板:表示使用提取到的第幾個值:

$-1$:表示取所有值

$0$:表示隨機取值

$1$:表示取第1個

$2$:表示取第二個

以此類推:$n$:表示取第n個

匹配數字:0 代表隨機取值,1 代表全部取值

預設值:如果正規表示式沒有搜找到值,則使用此預設值

3、新增乙個debug sampler ,

4、執行完,結果如下:

備註:正規表示式提取的結果儲存在result中,

result_g0 :根據匹配規則所匹配的全部內容 ;

result_g1:根據匹配規則匹配出符合條件的內容;

4、隨後接下即可使用提取的資料,用法$

jmeter正規表示式

1.必須掌握的正則字元 會匹配行或者字串的起始位置,有時還會匹配整個文件的起始位置。會匹配行或字串的結尾。w 匹配字母,數字,下劃線。例如我要匹配 a2345bcd ttz 正則 w 這裡的 字元為乙個量詞指重複的次數。s 匹配空格。例如字元 a b c 正則 w s w s w 乙個字元後跟乙個空...

jmeter正規表示式

1 新增jmeter正規表示式提取器 在具體的request下新增jmeter正規表示式提取器 jmeter正規表示式在 後置處理器 下面 2 從返回的json結果提取規則,如下 名稱 隨意 注釋 隨意 要檢查的響應字段 正規表示式提取內容的範圍 引用名稱 其他地方引用提取值的變數名稱,如填寫的是 ...

正規表示式的書寫

由於最近在學習python爬蟲,遇到了繞腦的正規表示式。一般正常的正規表示式非常精煉而且高效,但是當我們過了一段時間後,別人甚至自己再次閱讀自己寫的正規表示式時,甚至仍會犯迷糊,於是藉此機會,我將一些常用的正規表示式書寫規範列寫在下方每個表示式我都會配以例子 import random import...