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!
推薦閱讀:
- JMeter對數據庫的查詢操作步驟詳解
- Mysql循環插入數據的實現
- JMeter對MySQL數據庫進行壓力測試的實現步驟
- mysql存儲中使用while批量插入數據(批量提交和單個提交的區別)
- jmeter正則表達式實例詳解