jmeter 連接數據庫

轉自:
https://www.cnblogs.com/wuyonghuan/p/7479582.html
1.下載並安裝mysql jdbc:
mysql-connector-java-5.1.28.jar
2.打開JMeter,點擊測試計劃
點擊“瀏覽…”按鈕,將你的JDBC驅動添加進來

3.右擊線程組名稱,添加–配置元件–JDBC Connection Configuration
variable name 設置爲 orderid。

Database URL:jdbc:mysql://host:port/db(如jdbc:mysql://localhost:3306/testlink
JDBC Driver class:com.mysql.jdbc.Driver
username:連接數據庫的用戶名(如root)
password:連接數據庫的密碼
4.添加–Sampler–JDBC Request
創建JDBC Request取樣器,variable name 輸入上面設置的值:orderid,從而建立對應關係。
在SQL Query中輸入查詢語句,如下:

SELECT CONCAT (“[",
GROUP_CONCAT(
CONCAT("{username:'",login,"'"),
CONCAT("{password:'",password),"'}"),"]“) AS json FROM users

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}...來獲取相應的值

5.在4.4中的JDBC請求中添加“後置處理器”->“正則表達式提取器”,以提取3.4中的用戶名和密碼爲例設置正則表達式提取器的參數:
引用名稱:user
正則表達式:username:’(.+?)’{password:’(.+?)’
模板:12

使用時,user_g1即爲用戶名,user_g2即爲對應用戶名的密碼;更多正則表達式提取方法參見Jmeter正則表達式提取器
例:

如果數據庫語句查詢結果是組合,如:A1,B1,C1

則:引用名稱:username

正則表達式:(.+?),

模板:1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章