官方解釋
我的理解
其實學過代碼的都知道,就是變量賦值,然后引用而已,而jmter一般稱為json提取器,LR簡稱為關聯。
舉個例子:
新增用戶,刪除用戶,這要求刪除新增必須為同一個用戶,那么需要怎么做呢?
我的大概理解如下:
步驟1)新增用戶,返回結果中有ID
步驟2)從新增用戶返回結果中提取ID信息,並賦值給一個對象(變量)
步驟3)刪除用戶中引用這個變量即可
下面是實戰例子,新增刪除體驗碼:
設已弄好新增刪除體驗碼請求,那么接下來的步驟只需要:
1、 在新增體驗碼請求中,添加json提取器。
添加方法為:xx請求-后置處理器-json extractor
2、 在新增體驗碼中的json提取器定義一個變量,提取返回結果。然后在下一個請求(刪除體驗碼)中引用這個變量
新增體驗碼返回結果圖
json提取器詳解圖
3、下一個請求(刪除體驗碼)中,引用這個變量信息
4、成功了,看下一個請求(刪除體驗碼)返回信息,每次刪除的code都是不一樣的
注意事項
1、如果返回結果的有多個嵌套,怎么辦?
比如要提取下圖中的violationcode的參數1345,要怎么做呢?首先,了解返回的結構,這個是一個字典里嵌套了一個列表,然后列表里再嵌套了一個字典。那么我們的json path expression就應該設置為$.result[0].violationCode。
詳解:其實,也沒多難。代碼中怎么取,就怎么取,學過代碼就知道很簡單了。
外面是一層字典,先取result,根據key(result)取values
然后是一層列表,我們取第一個,就是0 ;
然后是一層字典,再根據key取values即可,即violationcode取參數1345
(可以百度一些json在線解析,校驗一下,更容易明白)
2、關於返回中有特殊字符,注意要轉為ASCII碼再使用