新的JSON / YAML插件:在JMeter中使用YAML


在JMS插件jmeter-plugins.org捐贈給核心JMeter之后,JSON插件在Apache JMeter™ 版本4中被棄用現在,我已更新此插件以支持新功能和新功能。在這個新版本中,兩個插件組件,JSON Path ExtractorJSON Path Assertion都有一個新的輸入格式--YAML。因此,用戶可以在運行JMeter負載測試時選擇JSON和YAML輸入格式。這為性能測試人員提供了更多選項和靈活性 - 以前在JSON中完成的所有工作現在也可以在YAML中完成。

讓我們通過生成一個簡單的測試計划來了解JSON / YAML插件的工作原理。此測試計划將從YAML中的兩個數組(列表)中獲取隨機值,並在POST請求中將它們用作主體參數。將從另一個請求接收這兩個數組。

讓我們開始吧。

1.使用JMeter插件管理器將JSON / YAML插件添加到JMeter 

2.將螺紋組添加到測試計划中。

3.添加HTTP請求並配置URL參數。(在我的例子中,我將使用Dummy Sampler,因為我想以YAML格式顯示響應)。

對於此示例,我的服務器將在YAML中返回以下響應。來自此的數據將用於模擬在BlazeDemo網站上提交表單的響應

門票:
  出發:
    城市:
      - 布宜諾斯艾利斯
      - 羅馬
      - 倫敦
      - 柏林
  目的地: 
    城市:
      - 波士頓
      - 米蘭
      - 巴黎
      - 莫斯科
tickets:
  departure:
    cities:
      - Buenos Aires
      - Rome
      - London
      - Berlin
  destination: 
    cities:
      - Boston
      - Milan
      - Paris
      - Moskow
 

4.添加JSON / YAML路徑斷言

我添加了兩個斷言,它將檢查我的路徑是否存在於響應中。每個斷言都有自己的路徑:

  • $ .tickets.departure.cities
  • $ .tickets.destination.cities

5.在斷言中選擇YAML輸入格式。

6.添加JSON / YAML路徑提取器

我添加了兩個提取器,它們將兩個數組提取到變量中。每個提取器都有自己的路徑:

  • $ .tickets.departure.cities [*]將提取變量'from'
  • $ .tickets.destination.cities [*]將提取變量'to'

7.在提取器中選擇YAML輸入格式。

8.讓我們看一下提取器的結果。我們可以使用Debug Sampler和View Results Tree監聽器。

如您所見,' from '和' to '變量顯示YAML文件中的完整數組。我們還得到了包含每個數組大小的變量from_matchNrto_matchNr最后,我們看到了一組變量from_ *to_ *包含從陣列中的每個元素。

現在,讓我們看看如何從這些YAML數組中獲取隨機值(在結果中)並將其作為參數用於POST請求中。

9.創建HTTP請求,填寫正文參數(服務器,協議等),並根據您需要的功能設置參數值。在這種情況下:

  • 使用隨機函數$ {__ Random(1,$ {from_matchNr})}
  • 使用__V函數來評估嵌套變量引用。
  • $ {__ V(從_ $ {__隨機(1,$ {from_matchNr})})}
  • 對'to'變量更改相同的內容:$ {__ V(to _ $ {__ Random(1,$ {to_matchNr})})}

10.現在我可以運行我的測試腳本並查看請求正文。你可以看到它有隨機值:

而已!您現在可以像使用JSON一樣在JMeter中使用YAML輸入。然后,在創建JMeter腳本之后,您可以在BlazeMeter中從多個地理位置運行它,與CI工具集成並獲取高級報告。立即開始測試:將您的URL放在下面的框中,您的測試將在幾分鍾內開始。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM