使用JMeter從JSON響應(yīng)的URL參數(shù)中提取特定值
在使用Apache JMeter進(jìn)行API測(cè)試時(shí),我們經(jīng)常需要從JSON格式的響應(yīng)中提取特定字段的值。這可以通過使用JMeter內(nèi)置的JSON提取器和正則表達(dá)式提取器來完成。以下是一個(gè)具體的例子,展示了如何從一個(gè)JSON響應(yīng)中提取rowId的值,同時(shí)處理字符串終止符。
假設(shè)我們有以下JSON響應(yīng):
{
"flag": "success",
"formulaStatus": -1,
"encryption": "0",
"changestate": 1,
"href": "/pf/ovdf/bd/openPage?pr=od&ll=115dfc704f96b039825a66f15b04&rowId=D96DB6B24EEE412BB0DE7E728EE193E6",
"closer": false
}我們的目標(biāo)是提取rowId參數(shù)的值D96DB6B24EEE412BB0DE7E728EE193E6。這個(gè)值不是直接作為JSON對(duì)象的一個(gè)屬性呈現(xiàn)的,而是作為一個(gè)URL的一部分,嵌套在href字段中。因此,我們需要兩步來提取這個(gè)值。
步驟 1: 提取href字段
首先,我們使用JSON提取器來捕獲href字段的值。JSON提取器可以直接從JSON結(jié)構(gòu)中提取值。我們可以按照以下步驟配置JSON提取器:
- 添加JSON提取器到請(qǐng)求:在JMeter中,選擇HTTP請(qǐng)求組件,然后右鍵選擇“添加” -> “后置處理器” -> “JSON提取器”。
- 配置JSON提取器:在JSON提取器的配置界面中,設(shè)置以下參數(shù):
- 變量名稱:
extractedHref - JSON路徑表達(dá)式:
$.href - 默認(rèn)值:
NOT_FOUND
這樣配置后,如果JSON響應(yīng)格式正確,extractedHref變量將包含href字段的完整URL字符串。
步驟 2: 從URL中提取rowId
- 接下來,我們需要從
extractedHref變量中提取rowId的值。 - 我們可以使用正則表達(dá)式提取器來完成這個(gè)任務(wù):
- 應(yīng)用到變量:
extractedHref - 正則表達(dá)式:
rowId=([^&"]+) - 模板:
$1$ - 匹配編號(hào):
1 - 默認(rèn)值:
NOT_FOUND
在這個(gè)正則表達(dá)式中,rowId=([^&"]+)的意思是查找rowId=之后的任何字符序列,直到遇到&、"或字符串結(jié)束。圓括號(hào)()表示捕獲組,用于提取匹配的部分。這樣修改后,正則表達(dá)式將在遇到引號(hào)"時(shí)停止匹配,這可以防止提取到額外的字符,如在JSON響應(yīng)中緊跟rowId值后的引號(hào)和其他字段。
結(jié)論
通過以上步驟,我們可以有效地從JSON響應(yīng)中提取rowId的值。這種方法不僅適用于本例,也可以廣泛應(yīng)用于需要從嵌套信息中提取數(shù)據(jù)的場(chǎng)景。JMeter的強(qiáng)大功能使得它成為API測(cè)試和數(shù)據(jù)提取的強(qiáng)有力工具。
到此這篇關(guān)于使用JMeter從JSON響應(yīng)的URL參數(shù)中提取特定值的文章就介紹到這了,更多相關(guān)JMeter JSON提取特定值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java連接redis報(bào)錯(cuò)timed?out問題的解決辦法
最近項(xiàng)目開發(fā)中用到了Redis,下面這篇文章主要給大家介紹了關(guān)于Java連接redis報(bào)錯(cuò)timed?out問題的解決辦法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
SpringBoot多線程進(jìn)行異步請(qǐng)求的處理方式
這篇文章主要介紹了SpringBoot多線程進(jìn)行異步請(qǐng)求的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜2021-12-12
詳解獲取Spring MVC中所有RequestMapping以及對(duì)應(yīng)方法和參數(shù)
本篇文章主要介紹了詳解獲取Spring MVC中所有RequestMapping以及對(duì)應(yīng)方法和參數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
SpringBoot集成FastDFS依賴實(shí)現(xiàn)文件上傳的示例
這篇文章主要介紹了SpringBoot集成FastDFS依賴實(shí)現(xiàn)文件上傳,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
spring和quartz整合,并簡(jiǎn)單調(diào)用(實(shí)例講解)
下面小編就為大家?guī)硪黄猻pring和quartz整合,并簡(jiǎn)單調(diào)用(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
Java數(shù)組隊(duì)列及環(huán)形數(shù)組隊(duì)列超詳細(xì)講解
隊(duì)列是一個(gè)有序列表,可以用數(shù)組和鏈表來實(shí)現(xiàn),隊(duì)列有一個(gè)原則。即:先存入隊(duì)列的數(shù)據(jù)要先取出,后存入的要后取出,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09
idea插件之mybatis log plugin控制臺(tái)sql的問題
這篇文章主要介紹了idea插件之mybatis log plugin控制臺(tái)sql,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09

