JMeter CSV數據文件設置詳解

一、CSV數據文件的作用及格式

CSV(Comma Separated Values)是一種以逗號為分隔符對數據進行存儲的格式,適用於存儲表格數據,易於閱讀和編輯。在JMeter中,CSV數據文件可以為測試腳本提供多個輸入值或者驗證數據。例如登錄場景,可以使用CSV文件來存儲不同的賬號密碼數據,讓測試腳本循環執行來驗證多個賬號的登錄情況。

CSV文件可以使用Excel等工具進行編輯和創建,每列對應一個變量,每行代表一個數據集。在JMeter中,CSV數據文件可以通過以下格式進行定義:

變量1,變量2,變量3,變量4
值1.1,值1.2,值1.3,值1.4
值2.1,值2.2,值2.3,值2.4
值3.1,值3.2,值3.3,值3.4

其中第一行聲明了CSV文件的變量名,後面的每一行都代表一個數據集,對應變量名的值通過逗號進行分隔。另外,如果CSV文件的第一行以“#”開頭,那麼這一行將被JMeter忽略。

二、使用CSV數據文件進行參數化

參數化是JMeter中非常常見的一種需求,它可以讓測試腳本使用不同的輸入值和驗證數據。而CSV數據文件正好可以給我們提供這樣的支持。

下面是使用CSV文件實現參數化的示例:

http://www.example.com/login.html
param1=${username}
param2=${password}

這個請求中,我們使用了${username}和${password}這兩個變量,它們將會從CSV文件中讀取對應的值。因此,我們需要在測試計劃中添加一個CSV數據文件配置元件,並指定對應的文件路徑。

假設我們的CSV文件的路徑為“D:\test\login.csv”,文件中包含username和password這兩個變量名,則在測試計劃中添加一個CSV數據文件配置元件,路徑設置為“D:\test\login.csv”,變量名稱設置為“username,password”。在HTTP請求中設置參數如下:

http://www.example.com/login.html
param1=${username}
param2=${password}

JMeter會自動讀取CSV文件,並將每行數據賦值給對應變量。每次請求時,JMeter會循環讀取下一行數據,並將變量值替換到請求參數中。

三、使用CSV數據文件進行斷言驗證

除了參數化,CSV文件還可以用於為測試腳本提供驗證數據。例如訪問一個登錄頁面,需要驗證頁面中是否包含“Welcome”的文字,這個驗證文字可能需要針對不同的用戶進行驗證。

下面是使用CSV文件實現斷言驗證的示例:

http://www.example.com/login.html
斷言:包含關鍵字“Welcome”
期望值:${welcome}

這個請求中,我們使用了一個包含關鍵字的斷言,其中期望值將會從CSV文件中讀取。因此,我們需要在測試計劃中添加一個CSV數據文件配置元件,並指定對應的文件路徑。

假設我們的CSV文件的路徑為“D:\test\validation.csv”,文件中包含welcome這個變量名,則在測試計劃中添加一個CSV數據文件配置元件,路徑設置為“D:\test\validation.csv”,變量名稱設置為“welcome”。在HTTP請求中設置斷言如下:

http://www.example.com/login.html
斷言:包含關鍵字“Welcome”
期望值:${welcome}

每次執行請求時,JMeter會自動讀取CSV文件,將期望值替換為文件中對應的值,並完成斷言驗證。

四、使用CSV數據文件實現循環控制

CSV文件還可以作為循環控制器的控制源,讓測試腳本循環執行直到文件中的所有數據都被使用。

下面是使用CSV文件實現循環控制的示例:

循環控制:循環次數${__CSVRead(D:\test\loop.csv,0)}
http://www.example.com/${__CSVRead(D:\test\loop.csv,1)}.html

這個腳本中,循環控制器的循環次數將會從CSV文件中讀取對應的值。因此,我們需要在測試計劃中添加一個CSV數據文件配置元件,並指定對應的文件路徑。

假設我們的CSV文件的路徑為“D:\test\loop.csv”,文件中包含cycle和type這兩個變量名,則在測試計劃中添加一個CSV數據文件配置元件,路徑設置為“D:\test\loop.csv”,變量名稱設置為“cycle,type”。在循環控制器中設置循環次數如下:

循環控制:循環次數${__CSVRead(D:\test\loop.csv,0)}
http://www.example.com/${__CSVRead(D:\test\loop.csv,1)}.html

在每次循環執行時,JMeter會自動讀取CSV文件,並將循環次數替換到循環控制器中,然後針對每一行數據執行對應的請求,完成數據循環操作。

原創文章,作者:JSTVI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/372059.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JSTVI的頭像JSTVI
上一篇 2025-04-23 18:08
下一篇 2025-04-24 06:40

相關推薦

發表回復

登錄後才能評論