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/