Jmeter系列(33)- 跨平台運行 Jmeter,CSV 文件路徑如何設置?


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

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

 

拋出問題

  • 上一篇文章中詳細講解了 CSV 數據文件設置的用法:https://www.cnblogs.com/poloyy
  • 通常,我們編寫、調試腳本都是在 Window 機器上,而真正性能測試時,腳本幾乎都在 Linux 下運行
  • 使用 CSV 數據文件做參數化時,是需要指定文件路徑
  • 這里就有個問題:Window 下寫的文件路徑到了 Linux 下是不正確的,導致無法正常讀取 CSV 文件
  • 為了解決這個問題,下面將要講解一個簡單的萬能解決方法

 

兩個前提

  • 我們的 CSV 文件必須在 Jmeter 的 bin 目錄下創建,然后再添加自己要的數據
  • Jmeter 必須從 bin 目錄下啟動,不能通過 cmd,否則會有問題(下面說)

 

具體方法

CSV 數據文件設置直接按下面的格式寫

這樣就可以了,只要把 CSV 文件上傳到 Linux 系統 Jmeter 下的 bin 目錄,這個腳本就可以跨平台執行了

 

實現跨平台的原理

__P() 函數

用來獲取 Jmeter 的屬性,那我們怎么知道 Jmeter 有什么屬性呢?

 

如何查看 Jmeter 屬性

測試計划右鍵添加

 

Window 下查看屬性 user.dir,file.separator

可以看到

  •  file.separator 的值是 \ ,這也是 Window 特有的路徑分隔符
  •  user.dir 的值是 Jmeter 安裝路徑下的 bin 目錄

 

如果通過 cmd 運行 Jmeter,那么  user.dir 又會顯示什么呢?

看到並不是顯示 Jmeter 的 bin 目錄,這不是我們想要的結果;所以請記住需要在 bin 目錄下啟動 Jmeter

 

Linux 下查看屬性 user.dir,file.separator

可以看到

  •  file.separator  的值是 / ,這也是 Linux 的路徑分隔符
  •  user.dir  的值是 Jmeter 安裝路徑下的 bin 目錄,和 Window 的截然不同

 

總結

  •  ${__P(user.dir,)}${__P(file.separator,)}test.txt 可以根據不同的系統,不同的 Jmeter 安裝路徑,自動獲取 Jmeter 路徑,然后再獲取不同系統下的文件路徑分隔符,最后加上文件名稱拼成文件路徑
  • 這樣就可以解決使用 CSV 數據文件做參數化時,跨平台導致路徑不一致的問題
  • 重點前提:CSV 文件放在 Jmeter 的 bin 目錄下,且通過 bin 目錄運行 Jmeter


免責聲明!

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



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