Jmeter連接數據庫並使用數據表數據作為接口所需參數


jmeter連接數據庫,並且使用數據庫的用戶名密碼進行登錄操作,具體步驟如下:

1、參考博客<Jmeter連接SqlServer數據庫並操作>進行相關內容的補充,修改JDBC Request查詢sql語句,並定義變量名為username,如下圖: 

【參數說明】

  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語句返回的結果

2、設置http請求的參數,若JDBC Request中Variable name設置了多個參數,如A,B,C,那么HTTP中參數的設置就是${參數AorBorC_N},及表示參數AorBorC列的第N行數據值,如下圖: 

3、運行腳本,查看運行結果,如下圖:

以上完成了運用數據庫中數據作為接口參數的單個使用,如何進行批量使用,即如何做到運用數據庫數據做接口參數做壓力測試呢,下面做一個簡要說明:

【說明】

  JDBC Request中Variables name:

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

    A_#=2 (總行數)

    A_1=第1列, 第1行

    A_2=第1列, 第2行

    C_#=2 (總行數)

    C_1=第3列, 第1行

    C_2=第3列, 第2行

  可以使用${A_#}、${A_1}...來獲取相應的值

4、 添加循環控制器,設置循環次數為總行數,如下圖:

5、因為我們取的值是根據${username_N}來取的,那么這個N可以通過計數器遞增的方式獲得,我們需要添加一個計數器,如下圖:

 

6、 使用函數助手,獲取嵌套函數,如下圖:

 

【說明】

  ${A1}:能正常工作。

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

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

7、 替換掉http請求中的參數,如下圖:

 

8、運行腳本,查看結果,如下圖:

 


免責聲明!

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



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