JMETER 使用JDBC查找數據做爲參數

有些狀況下咱們須要讀取平臺中的用戶做爲參數,好比用戶ID做爲參數進行壓力測試,咱們能夠使用CSV文件,若是這樣作,須要每一次mysql

都構造文件,比較麻煩。若是能夠查詢數據庫,將查出的數據做爲參數循環傳入的話就很方便了,JMETER 能夠很方便的實現這個。sql

下面就介紹一下作法:shell

爲了簡單實現:數據庫

我實現的目標是:測試

1.從數據庫讀出數據。ui

2.把這些數據循環寫到文件中。3d

1.配置驅動

在測試計劃處選取jar文件,這裏我選擇mysql的驅動程序。調試

2.配置 JDBC鏈接池

紅框表示鏈接池名稱,以後的執行查詢操做須要使用到這個鏈接池名稱。blog

3.配置一個jdbc request 查詢用戶並把用戶id做爲變量存儲到用戶上下文變量中。

1.填寫數據庫鏈接池名稱。索引

2.填寫須要執行的SQL語句,咱們查詢數用戶表的ID做爲參數。

3.Variable names 填寫變量名前綴。

實際的變量存儲 是 變量前綴名 +_ + 索引

用戶能夠經過索引獲取變量,下文還有介紹,好比上面的定義,咱們能夠經過代碼 獲取這個變量,好比 vars.get("uuid_" + index)。

4.獲取用戶總數並放入變量中。

咱們經過獲取用戶的總數,這個的做用是咱們能夠獲取這個變量數據,決定以後循環的次數。

咱們獲取用戶的總數,並用來控制下一步循環的次數。

5.執行循環獲取用戶的ID數據做爲參數

控制循環的次數,這裏經過變量表達式獲取用戶的總數,應爲用戶的總數只有一個值,因此能夠經過 count_1 來獲取這個值。

增長計數器,用來讀取變量。計數器從1開始,每次迭代增長1。

讀取變量

增長一個beanshell取樣器。

這個做用是:

1.讀取計數器

2.經過變量讀取以前的用戶id 數據。

3.將讀取的數據寫入到文件中。

咱們執行後,查看生成的文件。

這個文件和數據庫的數據一致,這樣就實現類讀取數據的數據實現參數化。

 

上面的例子中,咱們能夠經過 變量前綴加 索引獲取結果,還有一種方法也是能夠獲取變量的。

咱們能夠使用:

Result Variable name 來作。

上面修改以下:

Result Variable name 填寫ids

計數器從0開始。

關鍵的代碼以下:

vars.get("ids").get(index).get("id_").toString();

咱們能夠使用調試採樣器,來顯示上下文的變量數據,使用很是方便。

效果以下:

有了調試器,咱們能夠很方便的查看上下文的變量。

相關文章
相關標籤/搜索