1. 程式人生 > >Jmeter之JSON提取器應用

Jmeter之JSON提取器應用

在介面測試中有一個這樣的場景:登入之後,需要進行暱稱修改,怎麼實現?

首先我們分別看下登入、暱稱修改的介面說明:

 

以上業務中補充一點,暱稱修改,還需要新增請求頭Authorization傳登入獲取的token值。

分析:登入之後的響應結果中會返回使用者id、token資訊; 而更新暱稱需要傳參member_id、且需要請求頭傳token;也就是我們要想辦法從“登入”的響應結果中獲取到id、token資訊,再去傳給“更新暱稱”請求。因為返回資料格式是json,所以我們用JSON提取器來實現。用正則表示式提取器也可以,大家可參見我之前寫的文章。

 

一、json提取器設定多個變數獲取多個數據

1、先新增好登入請求,執行下檢視登入的響應結果

調整下檢視結果方式,可較清晰看到響應結果中的id、token資訊

JSON path表示式怎麼寫?例如我要獲取id,可寫$.data.id,$表示根元素,然後一級級屬性往下去找,先找到data,再往下子節點找到id;也可寫$..id,直接從根元素去遞迴查詢到id;獲取token同理。詳細的可檢視這篇文章http://www.lemfix.com/topics/63。

 

 

2、右鍵登入請求-->後置處理器-->新增“JSON提取器”。

JSON提取器說明:

Apply to:應用範圍

Names of created variables :接收值的變數名,自定義,多個變數用分號分隔 

JSON Path expression: json path表示式,也是用分號分隔 

Match No.(0 for Random):0表示隨機;n取第幾個匹配值;-1匹配所有。若只要獲取到匹配的第一個值,則填寫1

Compute concatenation var(suffix_ALL):如果找到許多結果,則外掛將使用' , '分隔符將它們連線起來,並將其儲存在名為<variable name> _ALL的var中

Default Values: 預設值,匹配不到值的時候取該值,可寫error。

 

為了檢查通過json提取器是否正常獲取到值,可新增Debug PostProcessor來檢查,注意正常跑用例時刪除或禁用它。

對比登入返回的結果,能看到已經正常獲取到id,token。

 

3、新增“修改暱稱”請求,將json提取器獲取到的值,進行變數引用。執行指令碼,更改暱稱成功。

 

 

二、json提取器設定1個變數獲取多個數據

我們也會碰到獲取一個變數,但結果是多個數據的情況。

1、例如“獲取使用者列表”,先來看下“獲取使用者列表”的響應結果。

 

如果想要獲取到這裡所有的使用者id,json路徑表示式怎麼寫呢?$..id或者$.data[*].id

 

2、新增JSON提取器,獲取所有使用者id資訊。

新增Debug PostProcessor來除錯用,正常跑用例刪除或禁用它。可檢視到獲取到了所有使用者id值。通過id_1,....id_22可得到每一個id。

 

3、將獲取到每一個使用者id迴圈進行“使用者流水記錄”檢視結果。

1)新增迴圈控制器,設定迴圈次數。

2)在迴圈控制器之下新增“使用者流水記錄”請求,並做以下設定。

因為要把JSON提取器中匹配到的id_1,....id_22迴圈傳遞給“使用者流水記錄”,

${__counter(,)}為一個計數函式,每執行1次+1,從1開始;

id_${__counter(,)}執行第1次id_1,執行第2次id_2,以此類推,直到執行到迴圈次數id_22

__V為一個巢狀變數函式,執行第1次id_${__counter(,)}為id_1,${__V(id_${__counter(,)},)}則為${id_1},值80

 

3)執行後,可檢視到結果

 

相關推薦

JmeterJSON提取應用

在介面測試中有一個這樣的場景:登入之後,需要進行暱稱修改,怎麼實現? 首先我們分別看下登入、暱稱修改的介面說明:   以上業務中補充一點,暱稱修改,還需要新增請求頭Authorization傳登入獲取的token值。 分析:登入之後的響應結果中會返回使用者id、token資訊; 而更新暱稱需要

Jmeter正則表達式提取應用

pan nbsp 一個 註意 添加 變化 inf post img 說到Jmeter正則表達式提取器的應用,就不得不說到關聯。所謂關聯,就是把應用中動態變化返回的數據獲取到,把它保存為一個參數,提供給後面需要用到的地方進行使用。 Jmeter中關聯是通過“添加—後置處理器—

Jmeter正則表示式提取應用

說到Jmeter正則表示式提取器的應用,就不得不說到關聯。 所謂關聯,就是把應用中動態變化返回的資料獲取到,把它儲存為一個引數,提供給後面需要用到的地方進行使用。 Jmeter中關聯是通過“新增—後置處理器—正則表示式提取器”來獲取資料,且注意正則表示式提取器附

性能測試五:jmeter進階之後置處理器(正則、json提取

性能測試 post 提取 bubuko 測試 sample 通過 ima 圖片 如,從get返回的json中提取stock的值 作為post的請求參數 1、JSON提取器 專門對json數據進行提取的後置處理器 Debug Sampler:記錄之前的

效能測試五:jmeter進階之後置處理器(正則、json提取

  如,從get返回的json中提取stock的值 作為post的請求引數   1、JSON提取器 專門對json資料進行提取的後置處理器   Debug Sampler:記錄之前的請求的所有引數及資料     &n

jmeter獲取響應數據中參數值的常用方式(JSON提取 、正則表達式提取 、XPath提取 、Bean Shell PostProcessor)

選擇 正則表達 pos alt 正則表達式 格式 processor info 表達 JSON提取器: XPath提取器: 返回數據格式是HTML的時候,選擇使用此種方式。 正則表達式提取器: 圖中Field to check勾選的是Response He

jmeter獲取響應資料中引數值的常用方式(JSON提取 、正則表示式提取 、XPath提取 、Bean Shell PostProcessor)

 JSON提取器:   XPath提取器: 返回資料格式是HTML的時候,選擇使用此種方式。     正則表示式提取器: 圖中Field to check勾選的是Response Headers,獲取的是請求頭裡的引數值。   B

Jmeter系列(26)- 詳解 JSON 提取

如果你想從頭學習Jmeter,可以看看這個系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html   為什麼要用 JSON 提取器 JSON 是目前大多數介面響應內容的資料格式 在介面測試中,不同介面之間可能會有資料依賴,在 Jmet

jmeter】實現介面關聯的兩種方式:正則表示式提取json提取

關聯通俗來講就是把上一次請求的返回內容中的部分截取出來儲存為引數,用來傳遞給下一個請求使用。 示例:   1.使用者密碼進行登入,登入後生成authentication   2.需要將登入介面響應結果中authentication的作為一個引數,傳給下一個介面   如下圖,需要提取登入介面返回的authent

Jmeter函數的應用

方法調用 ads 解析 numbers 屬性 自定義 rip 線程處理 lsp 詳解JMeter函數和變量 詳解JMeter函數和變量(1) JMeter函數可以被認為是某種特殊的變量,它們可以被采樣器或者其他測試元件所引用。函數調用的語法如下: ${__functio

JSON Extractor(JSON提取)

JSON提取器 Variable names(名稱):提取器的名稱Apply to(應用範圍):Main sample and sub-samples:應用於主sample及子sampleMain sample only:預設的是這個,應用於主sampleSub-samples only:應用於子sam

jmetercookies管理的使用

作用:   1 傳送請求,經常要校驗cookies資訊   2 針對有的cookie是用的sessionid來進行校驗的,這個就需要自己去配置cookie管理器裡面的資訊,而且sessionid是有時效性的,所以要自己獲取。 使用方法:     1.新增cookie管理器  2.

補一篇關於JMeter的cookies管理應用

之前介紹過JMeter測試的日常應用。但對於登入後提交資料等操作說的還不夠詳細。按照常規教程的說法,為JMeter新增cookies管理器,即可以自動管理cookie,實現使用者的狀態管理。但經過我的使用,發現有的站點可以,有的站點不行。錄製完指令碼,發現有的站點在cook

JmeterJson Path Extractor 接受上一個請求的響應引數

   最近在使用Jmeter進行介面測試,被一個問題困擾了很久,就是第二個請求如何接收上一個請求響應中的引數,剛開始嘗試著用網上普遍說的正則表示式,長了了N多次之,都沒有達到我想要的效果,被整的夠慘,於是,開始嘗試使用第二種方法,就是Jmeter之Json Path Ext

jmeter-提取JSON Path PostProcessor

ins 下載 .cn .com nbsp post plugin 一個 變量 後置處理器添加 json path postprocessor。 用處: 當前接口響應返回的json中提取內容,作為變量可以在不同的請求中傳遞。 1. json path postprocesso

jmeter斷言、資料提取(正則表示式、jsonpath、beanshell)、聚合報告、引數化

  ctx - ( JMeterContext ) - gives access to the context vars - ( JMeterVariables ) - gives read/write access to variables: v

Jmeter使用JSON Path Extractor/正則提取進行提取引數

一、為什麼要用這個提取器? 相對於正則提取器來說 小編更加喜歡用這個json提取器,因為正則提取器感覺就跟lr中的關聯函式一樣,實際上就是尋找左邊界右邊界,然後中間卡一段,來進行訂單,但是json提取器不一樣,他可以讓你形成一種分層的引用習慣,所以小編便使用了他 二、安裝

Jmeter正則表示式提取

作用:可以從請求的響應結果中取到需要的內容,從而實現關聯。 Jmeter正則表示式提取器控制面板,截圖如下: 位置1:名稱及註釋 位置2:正則表示式提取內容的範圍。(關於各欄位的詳細說明請查閱協議的相關說明) 位置3:正則表示式提取的相關設定 引用名稱:其他地方引用提取

Jmeter中正則表達式提取使用詳解

含義 需要 過程 所有 表達 介紹 amp 組成 nbsp 在使用Jmeter過程中,會經常使用到正則表達式提取器提取器,雖然並不直接涉及到請求的測試,但是對於數據的傳遞起著很大的作用,本篇博文就是主要講解關於正則表達式及其在Jmeter的Sampler中的調用。 一、首先

Jmeter正則表達式提取詳解

正整數 image $1 默認值 應用 貪婪模式 ria 多次 正則 名稱:次正則提取器的名稱,最好取名唯一且有意義,為了方便與其他正則提取器區分。 Apply to:應用範圍 Main sample and sub_samples Main sample only