咱們在作http接口測試的時候,返回的數據都是json串,Jmeter中自己是不支持直接處理json串的,若是要獲取到返回結果中指定的值,必需要要經過正則表達式來獲取到,正則表達式比較麻煩,寫錯了就獲取不到值了,你們都知道json是key-value這樣來存值的,那jmeter裏面能不能直接經過key取值呢,這樣的話就不用正則表達式那麼麻煩了。
若是想要經過key直接取值的話,jmeter官方有一個 json path extractor的插件,裝上它就能夠直接處理json了,經過key來取值。該插件下載地址爲:http://jmeter-plugins.org/wiki/JSONPathExtractor/,下載完以後,把lib文件夾放到jmeter的目錄下就ok了。
打開jmeter,這裏用的jmeter是3.0版本,新建一個調用接口的http請求,而後添加後置處理器,就能夠看到有json path extractor這個插件了,以下圖:正則表達式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
{
"code":200,
"info":[
{
"age": 18,
"id": 7,
"sex": "male",
"username": "myname"
},
{
"age": 23,
"id": 90,
"sex": "female",
"username": "yourname"
}
]
}
|
分析一下這個json串,userid在info這個列表裏面存着,取第一個userid,那就要先取到info裏面的值,再取info裏面的第一個元素,就是用戶信息,再取到userid。
json path extractor中使用$表明原來接口的返回值,取值以下圖:這樣就能夠直接使用key來取json裏面的值了,快去試試吧。json