JMeter關(guān)聯(lián)之JSON提取器

1、JSON提取器

若響應(yīng)數(shù)據(jù)格式為JSON,也可以用JSON提取器來提取需要關(guān)聯(lián)的數(shù)據(jù)。

▲ 配置項

Apply to:

與前面講過的正在表達式提取器中用法相同,不再贅述。

Names of created variables:

將JSONPath提取的內(nèi)容保存到指定變量,多個變量之間用“;”分隔(注意不是用,號)。

JSON Path expressions:

用于提取響應(yīng)數(shù)據(jù)的JSONPath表達式,多個JSONPath表達式之間用“;”分隔(注意不是用,號)。

Match No.(0 for Random):

若JSONPath有多個匹配項,可以選擇提取哪個匹配項。

0表示隨機(默認值)

-1表示提取所有匹配項,各匹配項可用var_1,var_2,var_3,... ,var_n表示(var為保存提取內(nèi)容的變量名)

i(i=1,2,3,...)表示第i個匹配項,若X大于匹配總數(shù),在設(shè)置了缺省值的情況下返回缺省值,否則返回空。

Compute concatenation var (suffiffiffix _ALL):

勾選此選項,若JSONPath返回多個匹配項,則將各匹配項連接起來保存在var_ALL的變量中,其中var為保存提取內(nèi)容的變量名。

Default Values:

若JSONPath沒有返回任何結(jié)果,則顯示設(shè)置的缺省值。注意缺省值可以不設(shè)置,一旦設(shè)置,需要為每個變量設(shè)置缺省值,多個缺省值之間用“;”分隔(注意不是用,號)。


2、應(yīng)用案例

沿用上面的例子。

其實上例中第二步驟:設(shè)置查詢條件(比如按商品品牌)搜索商品,響應(yīng)數(shù)據(jù)為JSON,也可以使用JSON提取器提取數(shù)據(jù)。

{

"error": 0,

"message": "",

"content": "<!-- $Id: goods_list.htm 17126 2010-04-23 10:30:26Z liuhui $ -- >\r\n\r\n<table cellpadding= ... <\/table>\r\n\r\n",

"filter": {

"cat_id": 0,

"intro_type": "",

"is_promote": 0,

"stock_warning": 0,

"brand_id": 0,

"keyword": "",

"suppliers_id": "",

"is_on_sale": "",

"sort_by": "goods_id",

"sort_order": "DESC",

"extension_code": "",

"is_delete": 0,

"real_goods": 1,

"record_count": "20",

"page_size": 15,

"page": 1,

"page_count": 2,

"start": 0

},

"page_count": 2

}

現(xiàn)在要從響應(yīng)數(shù)據(jù)中提取錯誤代碼,錯誤消息,返回內(nèi)容三部分數(shù)據(jù),JSON提取器設(shè)置如下:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容