Jmeter之Json表達式關聯

        Jmeter使用中,一般用的最多的是正則表達式和Xpath表達式,可是如今大多數網站都用的Json返回數據,並且數據還特長的那種,做爲合格的測試人員也要適應技術潮流發展,下面介紹利用Json Extractor進行Json表達式關鍵字信息提取並傳遞變量。html

Variable names            : 名稱 
JSONPath Expression  :JSON表達式 
Match Numbers           :0表明隨機,1表明第1個,-1表明所有
Default Value               :未取到值的時候默認值 

正則表達式

Jsonpath寫法:

{
	"reason":"查詢成功",
	"result":[
		{
			"id":"1",
			"province":"安徽"
		},
		{
			"id":"2",
			"province":"澳門"
		},
		{
			"id":"3",
			"province":"北京"
		},
		{
			"id":"4",
			"province":"福建"
		},
		{
			"id":"34",
			"province":"重慶"
		}
	],
	"error_code":0
}

            $..id:列出全部省份

 

               $..result[0].province:提取result中第一個list裏面的province

           

                $..[?(@.province=='北京')]:篩選出province爲北京的全部list數據

 

                $.result[:2].province:篩選前兩條數據

 

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(倒序取一條數據)

$..[?(@.id=="63")].["title","tags","imtro"]:匹配id=63下title、tags、imtro的數據

注:JSON Extractor使用json path表達式匹配,能夠一次取多個變量值。$表示響應的根對象。取子對象或對象的屬性用.  取數組裏的對象用[],數組索引從0開始 

 

1:添加一個JSON Extractor表達式,分號分隔多個參數名;分號分隔多個json表達式;分號分隔多個匹配數字;分號分隔多個默認值(必填)

2:全部的個數必定要匹配,任一個不匹配該請求都不會在提取成功

原文出處:https://www.cnblogs.com/Orange-ysen/p/11236297.html

相關文章
相關標籤/搜索