簡體   English   中英

Jmeter-如何讀取Json格式的數組形式的GET請求返回的多個值並將其寫入CSV文件

[英]Jmeter - How to read multiple values returned by GET request in the form of array in Json format and write it to a CSV file

Jmeter-我有一個以json格式的數組形式從Get請求返回的多個值(至少約250個值),我需要在下一個GET請求中將數組中的每個值作為參數傳遞

請求1

> Get http://xxx/store1?

json格式的響應如下所示

{"store1":"peirre","inventorylist":["item1","item2","item3"..........."item250"]}

我將需要像這樣在下一個GET請求中使用每一項,以獲取價格,可用數量,生產地點等特征,

要求2

Get https://xxx/store1/item1?
Get https://xxx/store1/item2?
Get https://xxx/store1/item3?

當我可以讀取響應並將數組中的每個值寫入CSV文件時,這將很容易,這樣我的下一個get請求將只需讀取CSV文件並觸發所有請求

有沒有辦法實現這一目標?

先感謝您

  1. JSON提取器添加為請求的子代,該請求返回上述JSON
  2. 如下配置:

    • 創建的變量的名稱:任何有意義的變量,即item
    • JSON路徑表達式: $.inventorylist.*
    • 比賽編號: -1
  3. 在第一個HTTP Request采樣器之后添加ForEach Controller並按以下方式進行配置:

    • 輸入變量前綴:在JSON提取器中用作“已創建變量的名稱”的變量,即item
    • 輸出變量名稱:任何有意義的變量,即current_item
  4. HTTP請求采樣器添加為ForEach控制器的子代,並在“路徑”字段中使用https://xxx/store1/${current_item} -它將迭代所有“項”

    JMeter JSON提取器和ForEach控制器

  1. 使用以下屬性將Json Extarctor添加到第一個Get Request中 在此處輸入圖片說明

2.添加一個JSR223后處理器並初始化一個計數器,如下所示 在此處輸入圖片說明

  1. 添加一個while控制器,然后將獲取請求放入while控制器中。

添加以下條件

${__javaScript(parseInt(vars.get("counter"))<=parseInt(vars.get("List_matchNr")))}

如下所示

在此處輸入圖片說明

  1. 在第二個獲取請求中,添加一個JSR223后處理器並增加計數器,如下所示

    int計數器= Integer.parseInt(vars.get(“ counter”))+1;

    vars.put(“ counter”,Integer.toString(counter));

在此處輸入圖片說明

  1. 使用${__V(List_${counter})}替換硬編碼值

此循環將遍歷匹配編號,並將每個項目的請求發送到服務器

在此處輸入圖片說明

有關while循環的更多信息,請點擊鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM