準(zhǔn)備
- 連Linux機(jī)器上的MySQL數(shù)據(jù)庫(kù),要通過SSH隧道鏈接。
SSH的英文全稱是Secure Shell.傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序,如:FTP和telnet在本質(zhì)上都是不安全的, 因?yàn)樗鼈冊(cè)诰W(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù),別有用心的人非常容易就可以截獲這些口令和數(shù)據(jù)。而通過使用SSH客戶端與服務(wù)器端通訊時(shí),用戶名及口令均進(jìn)行了 加密,有效防止了對(duì)口令的竊聽。同時(shí)通過SSH的數(shù)據(jù)傳輸是經(jīng)過壓縮的,所以可以提高數(shù)據(jù)的傳輸速度.
-
SecureCRT介紹
這是一款支持SSH(SSH1和SSH2)的終端仿真程序,簡(jiǎn)單地說是Windows或者M(jìn)ac下登錄UNIX或Linux服務(wù)器主機(jī)的軟件。
有些教程使用putty,但是在(1)win上試用發(fā)現(xiàn)putty沒有SecureCRT那么可視化;(2)putty不支持mac,遂棄之~
配置SecureCRT
-
打開SecureCRT
-
新建ssh連接
connect->session manager->new session
下一步輸入ssh連接密碼,保存,雙擊該連接,看到連接ok
-
數(shù)據(jù)庫(kù)信息填寫
點(diǎn)擊鏈接右鍵 -> properties -> port forwarding -> add
上面的跳轉(zhuǎn)端口可以設(shè)置為8181,瀏覽器訪問localhost:8181,可以看到提示下載文件,說明該端口設(shè)置ok。此端口待會(huì)用于jmeter連接跳轉(zhuǎn)
JDBC連接
- 添加需要的驅(qū)動(dòng)jar包
連接不同類型的數(shù)據(jù)庫(kù)需要下載不同的驅(qū)動(dòng)。mysql需要下載jdbc mysql driver,拷貝到j(luò)meter->lib下面 -
添加 JDBC Connection Configuration
Variable Name:數(shù)據(jù)庫(kù)連接池的名稱,我們可以有多個(gè)jdbc connection configuration,每個(gè)可以起個(gè)不同的名稱,在jdbc request中可以通過這個(gè)名稱選擇合適的連接池進(jìn)行使用。
Database URL:數(shù)據(jù)庫(kù)url,jdbc:mysql://主機(jī)ip或者機(jī)器名稱:mysql監(jiān)聽的端口號(hào)/數(shù)據(jù)庫(kù)名稱
JDBC Driver class:JDBC驅(qū)動(dòng)com.mysql.jdbc.Driver
username:數(shù)據(jù)庫(kù)登陸的用戶名
passwrod:數(shù)據(jù)庫(kù)登陸的密碼
不同數(shù)據(jù)庫(kù)具體連接方式如下:
| Datebase | Driver class | Database URL |
|---|---|---|
| MySQL | com.mysql.jdbc.Driver | jdbc:mysql://host:port/{dbname} |
| PostgreSQL | org.postgresql.Driver | jdbc:postgresql:{dbname} |
| Oracle | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:user/pass@//host:port/service |
| Ingres (2006) | ingres.jdbc.IngresDriver | jdbc:ingres://host:port/db[;attr=value] |
| MSSQL | com.microsoft.sqlserver.jdbc.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driver | jdbc:sqlserver://IP:1433;databaseName=DBname或者jdbc:jtds:sqlserver://localhost:1433/"+"library" |
-
配置JDBC Request
-
增加結(jié)果樹,運(yùn)行,查看結(jié)果,ok~
實(shí)例
案例:新增topic,取上一個(gè)請(qǐng)求的響應(yīng)里面用正則表達(dá)式提取變量topic_id,跟mysql查詢結(jié)果進(jìn)行斷言
Apply toJMeter Variable: name_1
Patterns to Test:${KEYWORD}

JDBC請(qǐng)求里面提取查詢結(jié)果

斷言,切記這里是name_1








