在昨天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()},參數引用如下:
④查看結果
運行腳本,查看結果如下:
以上就是今天分享的參數化內容了,我們可以看出,方式三更適用於實際業務當中,個人也推薦這種方式。