在聊CSV DataSet Config配置元件前,先來討論下爲什麼要參數化?數據庫
好比在作性能測試過程當中, 通常咱們須要模擬多個用戶進行操做, 爲了知足實際場景, 模擬真實的用戶行爲, 咱們須要作到模擬的用戶賬號或其它信息都是不一樣的, 這時咱們就須要用到參數化。 Jmeter中, 配置元件能夠解決此問題。服務器
Jmeter配置元件能夠用來進行參數化、 初始化默認值和變量、 存儲服務器的響應信息以及配置連接數據庫等。 JMeter參數化通常使用配置元件中的CSV DataSet Config或者JDBC ConnectionConfiguration來進行參數化。今天,先來使用CSV DataSet Config進行參數化。工具
CSV Data Set Config元件:性能
該元件能夠用來讀取csv或dat文件的數據,而後經過設置把讀取到的數據關聯到Jmeter中的變量保存,csv文件可使用execl表格工具去進行編輯。分兩種文件來說解:txt文件和csv文件。測試
界面字段說明:編碼
名稱、註釋與以前元件同樣能夠隨意設置。spa
Filename:指保存信息的文件目錄,能夠相對或者絕對路徑,相對路徑從Jmeter的啓動目錄(***/bin)路徑。線程
File Encoding:文件編碼,默認爲ANSI,建議設置爲utf-8,防止碰見亂碼狀況。3d
Variable Names:參數名稱,每一個名稱中間用分隔符分割,分隔符使用下面的「Delimitet」中定義的,默認用逗號隔開,與參數文件的參數對應。若是設置的參數名稱多於參數文件中的參數,多餘的參數取不到值;反之參數文件中的參數將沒有參數對應。code
Delimitet:定義分隔符,用於分隔文件中的參數,及上述Variable Names中定義的參數名稱。
Allow Quoated data?:是否容許引用數據,設置爲True ,設置文件中的參數值都必須用引號引發來,False則不須要
Recycle on EOF ?:遇到文件結束符時,是否從頭開始循環讀入,設置爲True,則從頭開始繼續循環
Stop Thread on EOF ?:當Recycle on EOF 設置爲False而且Stop Thread on EOF爲True,則讀完csv文件中的記錄後, 中止運行
Sharing Mode:參數文件共享模式,有三個設置,說明以下:
All threads:參數文件對全部線程共享,包含同一測試計劃中的不一樣線程組。
Current thread group:只對當前線程組中的線程共享。
Current thread:僅當前線程獲取。
界面以下圖所示:
配置元件添加路徑以下所示:
咱們已經基本瞭解了該配置元件,那就來實踐一番。
如何配置csv文件?
新建一個xls文件,再另存爲csv文件便可。
這個很簡單,咱們主要是來看如何引用csv文件,而達到參數化的效果。
咱們先來看配置界面,以下所示:
須要注意的是,file encoding文件編碼填寫的是GB2312,不是utf-8,須要格外注意,否則就會出現亂碼的現象,以下所示:
文件內容填寫以下:
咱們在配置界面填寫的變量名爲keyword,因此引入到接口中,也用該變量名,以下所示:
運行腳本,查看結果,以下所示:
接口每次請求,關鍵字都是不一樣的,就達到了參數化的效果。
咱們瞭解csv參數化以後,對於txt文件參數化,都是相似配置。咱們新建一個txt文本文件,輸入內容並保存便可。
配置界面以下:
file encoding文件編碼填寫的是utf-8,不是GB2312。須要格外注意的是,文本文件保存時,默認爲ANSI格式文件,便可界面配置爲utf-8,但仍是會出現亂碼的現象,以下所示:
配置爲utf-8,仍是會亂碼,解決辦法爲:將txt文件另存爲從新保存,選擇文件格式爲utf-8保存便可。
內容輸入以下圖所示:
咱們在配置界面填寫的變量名爲keyword,因此引入到接口中,也用該變量名,以下所示:
運行腳本,查看結果,以下所示:
不管是用csv文件仍是txt文件進行參數化,配置方式都相似。須要注意的就是,文件編碼的格式問題,配置錯了,就會致使亂碼的狀況。配置項中,若是參數化文件第一行填寫了參數名稱,配置的時候,則須要忽略第一行。
本文僅表明做者觀點,系做者@溫一壺清酒發表。
歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。
文章出處:http://www.cnblogs.com/hong-fithing/