JMeter學習(八)JDBC測試計划-連接Oracle


一.測試環境准備

      Oracle:10g

      JDBC驅動:classes12.jar

                             oracle安裝目錄下(oracle\product\10.2.0\db_1\jdbc\lib\classes12.jar)文件復制到JMeter/lib目錄下

      JMeter:jmeter-2.11

 

二.設計測試計划並運行

1.打開JMeter,點擊測試計划

 點擊“瀏覽...”按鈕,將你的JDBC驅動添加進來。

 

2.添加一個線程組,右鍵點擊“線程組”,在下面添加一個“JDBC Connection Configuration”

來配置一下JDBC Connection Configuration頁面。

Pool Timeout:連接超時可以修改此時間 

 

3.右鍵點擊“線程組”,在下面添加一個“JDBC request”。

     需要修改的參數包括Variable Name,要與上面的 JDBC Connection Configuration填寫同樣的內容,如此處的:oracleConn。這里表示 JDBC Connection Configuration建立一個名為Oracle 的連接池,之后其它的JDBC Request都共用這個連接池.

注意:SQL語句中,可以使用參數化.插入語句中的值也能參數化,如下圖:

注意:SQL語句后面不可能添加分號,否則報語法錯誤. 

 

4.添加斷言,右鍵點擊線程組---->添加--->斷言---->響應斷言。

 

5.我們來添加一些監聽器來行查看:

添加一個斷言結果:右鍵點擊線程組---->添加--->監聽器---->結果斷言。

添加一個圖形結果:右鍵點擊線程組---->添加--->監聽器---->圖形結果。

添加一個查看結果樹:右鍵點擊線程組---->添加--->監聽器---->查看結果樹。

下面是添加所有的列表:

6.在線程組頁面設置用戶數、啟動時間、循環次數,再點擊菜單欄“運行”----“啟動”

下面是結果:

至此,Jmeter進行壓力測試就到此為此了,具體還要根據實際的項目來進行實施。

備注:Assertion Results對Jmeter壓測的throughout有嚴重的影響。

 

三.遇到的問題

1、出現:java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:ORCL錯誤解決

原來是因為沒有加載包的緣故

解決方法:關閉jmeter,然后將class12.jar(電腦上搜索一下classes12.jar這個文件)復制到jmeter目錄下面的lib目錄中,重新啟動運行即可。

 

2、連接MySQL數據庫時,出現:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'錯誤

看起來似乎是設置字符的問題,后來在JDBC連接配置那里將Database URL加上字符編碼即可(?characterEncoding=UTF-8)

jdbc:mysql://127.0.0.1:3306/paydb?characterEncoding=UTF-8

 

3、出現:org.apache.avalon.excalibur.datasource.NoAvailableConnectionException: Could not create enough Components to service your request (Timed out).

解決方法:出現這個原因是因為連接超時,增大Pool TimeOUT就可以了。

 

4、執行時提示:ORA-00911: invalid character。

解決方法:確保你在JDBC Request里面的Query中輸入的SQL語句是正確的。注意:SQL語句后面不要添加分號。

 

四.驅動類

不同的驅動類對應的jar不同,一定要注意下面介紹下:MSSQL下載sqljdbc4.jar放在apache-jmeter-2.6\lib下面

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"

 
 


免責聲明!

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



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