1. 程式人生 > >Jmeter配置元件——CSV DataSet Config引數化

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檔案進行引數化,配置方式都類似。需要注意的就是,檔案編碼的格式問題,配置錯了,就會導致亂碼的情況。配置項中,如果引數化檔案第一行填寫了引數名稱,配置的時候,則需要忽略第一行。

 

本文僅代表作者觀點,系作者@溫一壺清酒發表。
歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
文章出處:http://www.cnblogs.com/hong-fithing/