1. 程式人生 > >Jmeter配置元件——JDBC Connection Configuration引數化

Jmeter配置元件——JDBC Connection Configuration引數化

在昨天Jmeter配置元件——CSV DataSet Config引數化一文中,有提到,在引數化時,還可以使用JDBC Connection Configuration配置元件實現,具體如何實現,如何操作,且聽詳解。

jar包下載

在Jmeter 中想用到連線資料庫的功能,必須下載jar包,下載地址。

下載好了jar包,如何使用呢?使用方式有二。

其一:下載的jar包儲存在非Jmeter的lib下的ext目錄下,則需要在Jmeter工程中測試計劃元件下指定jar包路徑,如下圖所示;

其二:下載的jar包儲存在Jmeter的lib下的ext目錄下,則不需要做其他的配置了,也不用擔心以後給其他電腦copy檔案,忘記copy某個檔案夾了【個人推薦這一種方式】

基礎配置

我們首先來看介面,如下所示:

根據上圖來了解,我們可以把配置介面分成五部分:

1,名稱和註釋,可隨便填寫;

2,Variable Name for created pool,Variable Name是定義變數名。填寫一個變數名,需要和用到的JDBC request,或者JDBC PreProcessor,或者JDBC PostProcessor中的變數名一致。可知,一個測試計劃中可以繫結多個DB源;

3,Connection Pool Configuration,關於資料庫連線池的配置,在一般使用中,預設即可;但是想壓測,單獨負載測試DB,想找出DB最適合的連線池,就要稍加註意;

4,Connection Validation by Pool,在一般使用中,預設即可,Validation Query 一般選擇 select 1;

5,Database Connection Configuration,資料庫連線配置,在這裡著重講解。資料庫連線的配置,將資料庫url/port/db name/使用者名稱和密碼等填入。jmeter還支援以下幾種連線方式:

引數化

引數化一:正則表示式提取

使用JDBC Request請求方式,查詢資料,並使用正則表示式提取唯一值,實現引數化,指令碼實現如下:

執行指令碼,檢視結果,如下所示:

引數化二:引用JDBC Request請求變數名

在JDBC Request請求中,配置變數名,配置如下:

執行指令碼,檢視結果,資料庫查詢到2個name值,如下:

通過Debug Sampler檢視到2個name分別對應的變數名為:

所以指令碼引數化調整如下並執行:

引數化三:變數名迴圈

我們在引數化方式二中,通過Debug Sampler檢視,有個變數為name_#的欄位,由於查詢到2個值,所以等於2,。如果資料庫中有很多資料,而且要一一引數化的情況下,難道我們要重複寫那麼多次的介面嗎?答案當然不是,可以引用name_#欄位,做為迴圈次數即可,我們來細看。

①增加迴圈控制器

我們先增加一個迴圈控制器,並引用變數值,配置如下:

②增加計數器

再增加一個計數器,定義每次遞增值,而來控制迴圈次數,配置如下:

③引用變數名

按以前引用寫法,可能會直接寫${name_${name}},但是jmeter中不支援這種寫法,所以在這裡,需要引進另一個函式,${__V()},引數引用如下:

④檢視結果

執行指令碼,檢視結果如下:

 

 以上就是今天分享的引數化內容了,我們可以看出,方式三更適用於實際業務當中,個人也推薦這種方式。

 

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