JMeter連接Mysql數據庫的實現步驟

JMeter連接mysql數據庫是很方便的,下面就演示一下具體的操作。

首先,在本地安裝好mysql服務器,建立庫和表,並準備數據以供測試使用。

在這裡插入圖片描述

接下來,在【測試計劃】中添加JDBC驅動,即下載mysql-connector-bin.jar並添加到classpath中。如下圖所示:

在這裡插入圖片描述

當然,如果將這個jar包直接放在JMeter安裝目錄的lib文件夾中,就無需在【測試計劃】中添加瞭。

當上面的準備工作完成後,就可以在線程組下添加一個【配置元件】–【JDBC Connection Configuration】

在這裡插入圖片描述

參數詳解:

名稱 描 述 必須
Name 腳本中顯示的這個元件的描述性名稱
Variable Name for created pool 連接所綁定的變量名。可以創建多個連接,每個連接綁定到不同的變量名,後續【JDBC Request】通過對應variable name使用相應的連接
Max Number of Connections 連接池最大允許連接數。默認設置為0,代表每個線程獲得自己的連接池。如果使用共享連接池,將其設置成與線程數相同即可
Max Wait (ms) 超時時間。如果嘗試連接的過程超過瞭這個時間,則拋出異常並停止連接
Time Between Eviction Runs (ms) 運行狀態下,空閑對象回收線程休眠時間。如果設為負數,空閑對象回收線程將不會運行
Auto Commit 自動提交開關,true代表開啟
Transaction isolation 事務隔離,一般使用默認即可
Test While Idle 當連接空閑時是否進行測試
Soft Min Evictable Idle Time(ms) 連接可以在池中處於空閑狀態的最短時間,超過這個時間的空閑連接才會被回收
Validation Query 用於確定數據庫是否仍在響應的簡單查詢
Database URL 數據庫的JDBC連接串
Username 數據庫連接的用戶名
Password 數據庫連接的密碼

添加【JDBC Request】

在這裡插入圖片描述

最終腳本結構完成,運行腳本,結果如下:

在這裡插入圖片描述

再看Debug Sampler中:

在這裡插入圖片描述

可以看到,sql查詢結果存儲在變量中,例如name的變量,name_#=3,表示sql語句name字段有3個結果,name_1、name_2、name_3,在腳本後續想使用這些值時用${variable name}引用,例如用${name_1}即可使用”Tom”這個值。
以上便是JMeter操作mysql數據庫的常規用法,已經能滿足大部分使用情況,畢竟測試中一般隻會進行查庫操作,很少寫庫。但有時候我們難免遇到一次性執行多種類型sql語句(類似事務)的場景,按照上文中的寫法,是實現不瞭的。
要實現這個功能,有兩種方案,首先看方案一。

【JDBC Connection Configuration】配置頁面,Database URL:jdbc:mysql://localhost:3306/hkkTest後添加?allowMultiQueries=true

在這裡插入圖片描述

【JDBC Request】的【Query Type】選擇Callable Statement,然後將多條sql語句按順序寫好,每條語句要以分號結尾。

在這裡插入圖片描述

運行後,查看結果:

在這裡插入圖片描述

再說方案二。

方案二使用的前提是,mysql服務器上已經建好相應的存儲過程並執行,如下例:

delimiter $$;
# 存儲過程後面必須有()
CREATE PROCEDURE user_procedure()
BEGIN
  UPDATE test.user SET age=24 WHERE name='Tom';
  INSERT INTO test.user(id,name,age,address) VALUES(4,'Lucy',17,'Paris');
  INSERT INTO test.user(id,name,age,address) VALUES(5,'Messi',32,'Barcelona');
  DELETE FROM test.user WHERE name='Jack';
  SELECT * FROM test.user;
END
$$;
delimiter;

然後,【JDBC】中【Query Type】同樣選擇Callable Statement,sql語句隻寫上調用存儲過程的語句即可。

在這裡插入圖片描述

運行腳本,查看結果,可以看到存儲過程已經被執行,數據庫數據被修改成功:

在這裡插入圖片描述

至此,JMeter操作mysql數據庫的部分完結。

到此這篇關於JMeter連接Mysql數據庫的實現步驟的文章就介紹到這瞭,更多相關JMeter連接Mysql 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: