Jmeter-從數據庫中獲取數據並作為變量傳輸


 

再今天重新學習,從數據庫中取數據,並作為變量傳到下一個請求中。

首先第一步要導入mysql驅動包

 

 

一、添加JDBC Connection Configuration

設置鏈接

Database URL: jdbc:mysql:// 數據庫地址 /庫名

JDBC Driver class:com.mysql.jdbc.Driver

Username:賬號

Password:密碼

二、添加JDBC Request

ariable Name: 數據庫連接池的名字,需要與上面配置的JDBC Connection Configuration中Variable Name Bound Pool的Variable Name相同 

Query:填寫的sql語句未尾不要加“;” 

Parameter valus:參數值 

Parameter types:參數類型,可參考:Javadoc for java.sql.Types 

Variable names:保存sql語句返回結果的變量名 

Result variable name:創建一個對象變量,保存所有返回的結果 

Query timeout:查詢超時時間 

Handle result set:定義如何處理由callable statements語句返回的結果

 

variables names設置為A,,C,那么如下變量會被設置為:

  A_#=2 (總行數)
  A_1=第1列, 第1行
  A_2=第1列, 第2行 
  C_#=2 (總行數) 
  C_1=第3列, 第1行
  C_2=第3列, 第2行

    • 如果返回結果為0,那么A_#和C_#會被設置為0,其它變量不會設置值。
    • 如果第一次返回6行數據,第二次只返回3行數據,那么第一次那多的3行數據變量會被清除。
    • 可以使用${A_#}、${A_1}...來獲取相應的值

 

 

三、在http請求中加入變量

username_id_N:N為數字,指取第幾個數

四:添加察看結果樹

 

結束。。。。。。

 

-------------這里是分界線-------------

 

其實並沒有。。。。

 

實際中,我們是取出多個值,循環傳入數據庫

五:添加循環控制器:

 

 

 六:目標接口放入到循環控制器下,另外添加一個計數器,因為我們取的值是根據${username_N}來取的,那么這個N可以通過計數器遞增的方式獲得

 

七:計數器:

 

八:通過函數助手獲取嵌套函數

函數__V可以用於執行變量名表達式,並返回執行結果。它可以被用於執行嵌套函數引用(目前JMeter不支持)。

例如,如果存在變量A1、A2和N=1,則:

${A1}:能正常工作。

${A${N}}:無法正常工作(嵌套變量引用)。

${__V(A${N})}:可以正常工作。A${N}變為A1,函數 __V返回變量值A1。

 

九:運用在目標接口中

 

 運行就OK啦

 

 

排錯記錄

1. 報“Cannot load JDBC driver class 'com.MySQL.jdbc.Driver ”    -----   表示沒有JDBC連接mysql的驅動包,添加mysql的驅動包

 2.不同的數據庫有不同鏈接方式

 

注:原創,轉載請說明出處!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM