Jemeter 獲取響應中字段的值

2021-08-20 18:20:12 字數 1661 閱讀 6607

介面測試過程中,下乙個請求經常會用到上乙個請求響應的結果,這就是jemeter的引數關聯。

例如獲取第乙個id的內容:

,,],"totalnum":3,"pagesize":8}}

方法一:json extractor:這個需要安裝外掛程式

在需要獲取結果的請求上右鍵選擇 《新增-後置處理器-json extractor》

json extractor引數介紹:

names of created variables:獲取的變數名稱,後面引用該引數時,使用$

json path expressions:獲取響應中字段的表示式,data是字典,result是個list,獲取第乙個id的表示式為$.data.result[0].id

方法二:

引數介紹:

field to check:分的很細,意思是你打算去**取值

reference name,變數名,取值後儲存的物件名,可以用作$,另外$_g#,#代表第幾組,g0表示完全匹配,包含整個字串,g1代表從第對括號開始匹配,g2表示第二對括號開始的匹配

regular expression: 正規表示式

template: $1$指向group 1,即匹配第乙個正規表示式括號內的內容,依次類推

(關聯值的取值模板。取值模板以$1$表達正規表示式中第乙個待匹配的內容(也就是正規表示式中第乙個括號對內的匹配部分),以$2$表示第二代待匹配的內容,以此類推。引數可以在取值模板中組合使用,例如,已「$1$-$2$」作為模板得到的值是使用「-」鏈結的第乙個待匹配的內容與第二個待匹配的內容組合而成的字串。)

match no: 選擇第幾次匹配到的值,有可能乙個sampler下面匹配到多個值,這時這個變數就可以用到,0代表隨機取,可以用在每次取到的值是一樣的情況下

(指示正規表示式在指定的檢查範圍內多次匹配成功(得到多個匹配值),使用第幾個被匹配的值作為引數的取值。0表示隨機從所有匹配的資料中選取;正數n表示取第n個匹配值;取負數則表示要提取所有符合條件的匹配值。當match no.取負數時,jmeter會自動生成以下引數存放匹配值資料(refname為reference name中指定的引數名稱))

default value: 如果沒有匹配到的預設值,建議設定,可以快速定位問題

可以通過新增debug postprocessor來跟蹤檢視下取值的結果:

可以檢視到

jmeter獲取請求響應字段,儲存到本地

背景 做壓測時,需要將登入使用者的token及id儲存到本地,以便後續介面的使用。步驟 1.登入使用者帳號引數化。2.傳送請求 3.獲取響應資料 4.儲存資料到本地 json的基本格式 值可以是普通的字串 json物件 陣列。基本語法 基本操作符 根節點 當前節點,一般來說用於子表示式或者過濾表示式...

okhttp獲取介面響應中的Session

有的時候服務端要完成乙個功能會提供我們多個介面,服務端在第乙個介面中儲存了乙個session,在後續介面中服務端會用這個sessionid獲取一些資料完成後續邏輯。但是有的時候從android端呼叫的介面,服務端獲取不到session,ios h5都可以就你不行,他就會讓你看看是咋回事呢?這種情況就...

jdbc 獲取 表中 欄位的長度

參考 使用jdbc連線資料庫獲取表字段的注釋資訊 在實現乙個 生成器的時候,遇到過乙個問題,需要輸出欄位的長度 今天在使用 生成器時突然發現了乙個字段設定成了無符號型別 bigint unsigned 原來同事設定了乙個欄位是無符號的,我之前都是用的有符號的 瞬間有了靈感,獲取字段長度的功能可以實現...