jmeter中JSON Extractor用法

1、基礎信息html

所用jmeter版本:jmeter4.0express

所記錄功能名稱:JSON Extractorjson

2、使用需求數組

在對返回結果較複雜且爲json結構的HTTP請求進行提取某一個值,以用做其餘接口使用或者用來斷言的等。數據結構

3、使用方法dom

一、添加步驟:選擇線程組中的HTTP請求——右鍵「添加」——後置處理器——JSON Extractor函數

圖示以下:測試

二、實例說明spa

這一過程主要說明如何去寫JSON Extractor匹配表達式以及如何去驗證本身寫的JSON Extractor是否正確線程

{爲了方便看,查看json的目錄層級用抓包的結果展現,jmeter返回的不能收縮,不方便查看}

√、咱們使用JSON Extractor匹配第一層級內容message的值(爲了方便查看把不須要的層級給收起來了 )。 抓包查看返回的結構以下:

 

使用jmeter的查看結構樹中的 json path expression能夠測試本身所寫的JSON Extractor是否正常。測試結果以下:

 √、咱們使用JSON Extractor匹配第二層級內容total的值(爲了方便查看把不須要的層級給收起來了 )。 抓包查看返回的結構以下:

 

使用jmeter的查看結構樹中的 json path expression能夠測試本身所寫的JSON Extractor是否正常。測試結果以下:

√、咱們使用JSON Extractor匹配第三層級內容id的值(爲了方便查看把不須要的層級給收起來了 )。 抓包查看返回的結構以下:

使用jmeter的查看結構樹中的 json path expression能夠測試本身所寫的JSON Extractor是否正常。測試結果以下:

注:關於用到的一個[0]會在後邊說明。

√、關於匹配一個數組的內容的用法。

差很少了,不一樣層級的匹配實例說明的都已經說的能夠了,照葫蘆畫瓢應該能夠學會一些 。可是這個過程當中還有一些須要說明的東西后邊一塊兒說明~~~。

4、要學會用

前一個過程說明了如何去寫JSON Extractor匹配表達式以及如何去驗證本身寫的JSON Extractor是否正確,接下來這一個過程主要記如何去使用寫的JSON Extractor匹配表達式。

添加了兩個HTTP請求,目錄以下:

實例:獲取待出庫單列表接口和查看待出庫單詳情接口,須要實現的過程是:先獲取待出庫單列表,而後使用JSON Extractor獲取列表中其中一個stockOutId的值而後在第二個接口中去使用,並返回內容。

再來看JSON Extractor中的內容,其實就是直接把在json path expression測試驗證正確的表達式複製到這裏來就好了。

這咋忽然感受沒啥可說得了呢,如何寫已經描述了,如何用也圖示了。

把幾個參數標註一下吧

names of created Variable :保存的變量名,後面使用${變量名}引用,如:${stockOutId}

JSON Path  expressions:上一步中調試經過的json path表達式,若是:$.data.list[0].stockOutId

Match No.(0 for Random):匹配數字(0表明隨機,1表明第一個,-1表明全部)

Default Values:找不到時默認值,通常設置爲NOT FOUND

Compute concatenation var(suffix_ALL):是否統計全部,即將匹配到的全部值保存,名爲「變量名_ALL」,使用場景須要獲取的值有多個,後面須要對這一組數據進行操做。

5、特別關注

一、json串 []表示對象組成的數組,{}表示對象

二、若是須要同時匹配多個值,能夠如圖設置

三、在第二步中list[0]的用法說明:[0] 表示匹配第一個值,[1] 表示匹配第二個值,[*] 表示匹配全部的值,如圖:

四、JSON Extractor主要用於匹配返回數據結構爲json的參數提取

 關於須要瞭解函數助手的用法的能夠到這裏:http://www.javashuo.com/article/p-xezgfvdg-hq.html

完事,先看吧!有啥疑問或者建議歡迎留言,我在補充,謝謝嘍!

相關文章
相關標籤/搜索