在昨天Jmeter配置元件——CSV DataSet Config參數化一文中,有提到,在參數化時,還可使用JDBC Connection Configuration配置元件實現,具體如何實現,如何操做,且聽詳解。html
在Jmeter 中想用到鏈接數據庫的功能,必須下載jar包,下載地址。正則表達式
下載好了jar包,如何使用呢?使用方式有二。數據庫
其一:下載的jar包保存在非Jmeter的lib下的ext目錄下,則須要在Jmeter工程中測試計劃元件下指定jar包路徑,以下圖所示;函數
其二:下載的jar包保存在Jmeter的lib下的ext目錄下,則不須要作其餘的配置了,也不用擔憂之後給其餘電腦copy文件,忘記copy某個文件夾了【我的推薦這一種方式】post
咱們首先來看界面,以下所示:測試
根據上圖來了解,咱們能夠把配置界面分紅五部分:url
1,名稱和註釋,可隨便填寫;spa
2,Variable Name for created pool,Variable Name是定義變量名。填寫一個變量名,須要和用到的JDBC request,或者JDBC PreProcessor,或者JDBC PostProcessor中的變量名一致。可知,一個測試計劃中能夠綁定多個DB源;3d
3,Connection Pool Configuration,關於數據庫鏈接池的配置,在通常使用中,默認便可;可是想壓測,單獨負載測試DB,想找出DB最適合的鏈接池,就要稍加註意;code
4,Connection Validation by Pool,在通常使用中,默認便可,Validation Query 通常選擇 select 1;
5,Database Connection Configuration,數據庫鏈接配置,在這裏着重講解。數據庫鏈接的配置,將數據庫url/port/db name/用戶名和密碼等填入。jmeter還支持如下幾種鏈接方式:
使用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/