Jmeter——CSV DataSet Config參數化


在聊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文件。

基礎配置

界面字段說明:

名稱、注釋與之前元件一樣可以隨意設置。

Filename:指保存信息的文件目錄,可以相對或者絕對路徑,相對路徑從Jmeter的啟動目錄(***/bin)路徑。

File Encoding:文件編碼,默認為ANSI,建議設置為utf-8,防止遇見亂碼情況。

Variable Names:參數名稱,每個名稱中間用分隔符分割,分隔符使用下面的“Delimitet”中定義的,默認用逗號隔開,與參數文件的參數對應。如果設置的參數名稱多於參數文件中的參數,多余的參數取不到值;反之參數文件中的參數將沒有參數對應。

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文件

如何配置csv文件?

新建一個xls文件,再另存為csv文件即可。

這個很簡單,我們主要是來看如何引用csv文件,而達到參數化的效果。

①配置界面

我們先來看配置界面,如下所示:

需要注意的是,file encoding文件編碼填寫的是GB2312,不是utf-8,需要格外注意,不然就會出現亂碼的現象,如下所示:

②准備csv文件

文件內容填寫如下:

③引入參數化

我們在配置界面填寫的變量名為keyword,所以引入到接口中,也用該變量名,如下所示:

④查看參數化結果

運行腳本,查看結果,如下所示:

接口每次請求,關鍵字都是不同的,就達到了參數化的效果。

參數化二:txt文件

我們了解csv參數化之后,對於txt文件參數化,都是類似配置。我們新建一個txt文本文件,輸入內容並保存即可。

①配置界面

配置界面如下:

②注意點

file encoding文件編碼填寫的是utf-8,不是GB2312。需要格外注意的是,文本文件保存時,默認為ANSI格式文件,即可界面配置為utf-8,但還是會出現亂碼的現象,如下所示:

配置為utf-8,還是會亂碼,解決辦法為:將txt文件另存為重新保存,選擇文件格式為utf-8保存即可。

③准備txt文件

內容輸入如下圖所示:

④引入參數化

我們在配置界面填寫的變量名為keyword,所以引入到接口中,也用該變量名,如下所示:

⑤查看參數化結果

運行腳本,查看結果,如下所示:

總結

無論是用csv文件還是txt文件進行參數化,配置方式都類似。需要注意的就是,文件編碼的格式問題,配置錯了,就會導致亂碼的情況。配置項中,如果參數化文件第一行填寫了參數名稱,配置的時候,則需要忽略第一行。


免責聲明!

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



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