Jmeter使用中,一般用的最多的是正則表達式和Xpath表達式,可是如今大多數網站都用的Json返回數據,並且數據還特長的那種,做爲合格的測試人員也要適應技術潮流發展,下面介紹利用Json Extractor進行Json表達式關鍵字信息提取並傳遞變量。html
Variable names : 名稱
JSONPath Expression :JSON表達式
Match Numbers :0表明隨機,1表明第1個,-1表明所有
Default Value :未取到值的時候默認值
正則表達式
{ "reason":"查詢成功", "result":[ { "id":"1", "province":"安徽" }, { "id":"2", "province":"澳門" }, { "id":"3", "province":"北京" }, { "id":"4", "province":"福建" }, { "id":"34", "province":"重慶" } ], "error_code":0 }
PS:注意觀察中括號裏的符號json
$.result[:2].province 是篩選前兩條數據數組
$.result[2].province 是排除前兩條數據測試
$.result[-2].province 是排除後兩條數據網站
總結:spa
一、冒號在前3d
:index 正序取值,取數爲index(正數第一條)code
:-index 倒序過濾,取數爲index(倒數第一條)htm
二、沒有冒號
index 表示順序取index+1的值(取第二條數據)
三、冒號在後
index: 順序過濾,取數爲index(正序過濾第一條數據)
-index:倒序取值,取數爲index(倒序取一條數據)
注:JSON Extractor使用json path表達式匹配,能夠一次取多個變量值。$表示響應的根對象。取子對象或對象的屬性用. 取數組裏的對象用[],數組索引從0開始
1:添加一個JSON Extractor表達式,分號分隔多個參數名;分號分隔多個json表達式;分號分隔多個匹配數字;分號分隔多個默認值(必填)
2:全部的個數必定要匹配,任一個不匹配該請求都不會在提取成功
原文出處:https://www.cnblogs.com/Orange-ysen/p/11236297.html