Jmeter系列(32)- 詳解 CSV 數據文件設置

如果你想從頭學習Jmeter,可以看看這個系列的文章哦

//www.cnblogs.com/poloyy/category/1746599.html

 

了解一哈什麼是 CSV 文件

  • 為了實現簡單的數據存儲,是一個純文本的文件
  • 最通用的一種文件格式,它可以非常容易地被導入各種PC表格及資料庫中
  • CSV 文件可以用記事本、excel打開;用記事本打開的話,每一列數據都用逗號隔開

 

為什麼要用 CSV 數據文件?

  • 從外部導入測試數據,相當於數據參數化
  • 通過從文件中導入大量的測試數據,來模擬大量真實用戶發送並發請求

 

CSV 數據文件設置

 

CSV 數據文件設置介面介紹

 

欄位含義

欄位 含義
Filename 文件名
File encoding 文件編碼
Variable Names
  • 變數名稱
  • 多個變數用 , 分隔
Ignore first line
  • 忽略首行
  • 只在設置了變數名稱後才生效
Delimiter
  • 分隔符
  • 默認 , 
Allow quoted data? 是否允許帶引號
Recycle on EOF? 遇到文件結束符EOF 後再次循環
Stop thread on EOF? 遇到文件結束符EOF 後停止運行執行緒?
Sharing mode 執行緒共享模式

後續通過各種栗子來深入理解常用欄位的含義

 

單個欄位的栗子

csv 測試數據

這裡用記事本方式當 CSV 數據文件,共有 10 條記錄

 

執行緒組結構樹

${num} 是計數器裡面聲明的變數,從 1 開始遞增到 15

 

執行緒組屬性

執行緒數和數據量一致,都是 15

 

csv 數據文件設置

 

運行結果

 

知識點

  • 忽略首行 True:一般首行都是欄位名字,比如栗子的 mobile,一般都需要忽略除非沒有欄位名
  • 是否允許帶引號 False:可以看到有引號的三條記錄 8、9、10,都還是保留了引號
  • 再次循環 True:csv 文件共有 10 條記錄,但執行緒數有 15 個,循環 10 次後,重頭開始循環;可以看到 11-15的手機號和1-5的手機號
  • 停止執行緒 False:取了 10 次值之後就到了文件尾部,但並不會停止運行執行緒,後面會舉個反例

 

多個欄位的綜合栗子

csv 測試數據

兩個欄位,共有 10 條記錄,最後三條記錄有分別有三種引號

 

csv 數據文件設置

執行緒組結構樹和上面栗子差不多一樣,執行緒數仍然 = 15

和第一個例子的配置項相反:不忽略首行,允許帶引號,遇到文件結束符不再循環

 

運行結果

  • 不忽略首行就會把首行的欄位名都返回回來,如:1-mobile-age
  • 數據有雙引號 “” 時,會把雙引號忽略掉,  單引號不算
  • EOF 是文件結束符,沒有開啟再次循環時,會直接返回 EOF

 

開啟遇到文件結束符停止執行緒

還是上個栗子的執行緒組,只是改了下配置項

 

運行結果

可以看到,執行緒數 = 15,但只有 10 條數據,當跑了 10 個執行緒後,沒有數據了,所以停止運行