Jmeter(七) – 從入門到精通 – 建立數據庫測試計劃實戰(詳解教程)_網頁設計公司

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

透過資料庫的網站架設建置,建立公司的形象或購物系統,並提供最人性化的使用介面,讓使用者能即時接收到相關的資訊

1.簡介

   在實際工作中,我們經常會聽到數據庫的性能和穩定性等等,這些有時候也需要測試工程師去評估和測試,上一篇文章宏哥主要介紹了jmeter連接和創建數據庫測試計劃的過程,宏哥在文中通過示例和代碼非常詳細地介紹給大家,希望對各位小夥伴和童鞋們的學習或者工作具有一定的指導和參考學習價值,遇到類似的問題腦子一片空白的童鞋們可以參考一下。這一篇宏哥就以MySQL數據為例結合上一篇的理論知識在這裏帶領小夥伴和童鞋們實戰一下。這裏宏哥為了增加小夥伴們的學習興趣和便於記憶理解,因此列舉了一個諜戰劇中執行刺殺任務的場景,首先組成刺殺任務的小隊,然後通過接頭暗號建立聯繫,其次就開始執行刺殺任務,期間有核查組員的人物背景、其他組員支援、以及自己組員的犧牲、任務的變更等等,最後確認暗殺任務是否執行成功。

2.環境準備

1、MySQL數據庫
2、下載mysql jdbc 驅動
3、JMeter

2.1安裝MySQL

首先確保你已經安裝好數據庫MySQL。如果沒有可以參考宏哥的這篇文章:傳送門。查看有沒有安裝MySQL命令:net start,打開控制台(在開始,運行輸入cmd)然後出入“net start” 就是打開了服務看看列出來的有沒有 MySQL之類的如果沒有,就是沒有安裝。如下圖所示:

2.2JMeter

JMeter安裝啟動好待用。

2.3下載MySQL驅動

1、下載MySQL驅動。下載地址:https://dev.mysql.com/downloads/connector/j/
常用的包如下:
Windows 下 mysql-connector-java-5.1.7-bin.jar
Mac下 MySQL Connector/J沒有對應的 Mac 版,可以選擇Platform Independent:mysql-connector-java-8.0.15.zip
注意:驅動包的版本一定要與你數據庫的版本匹配,驅動版本低於mysql版本有可能會導致連接失敗報錯

2、解壓下載的MySQL驅動,如下圖所示:

3、將解壓的MySQL的jdbc驅動(mysql-connector-java-8.0.20.jar),將其放到D:\software\apache-jmeter-5.1.1\lib目錄下。如下圖所示:

注意:敲黑板,敲腦殼啦!!!放完驅動以後,要記得重啟jmeter

3.建立數據庫測試計劃

  在本節中,您將學習如何創建基本的測試計劃以測試數據庫服務器和操作數據庫(增、刪、改、查)。本示例使用MySQL數據庫驅動程序。要使用該驅動程序,必須將其包含的.jar文件(例如mysql-connector-java-XXX-bin.jar)複製到JMeter ./lib目錄。

3.1新建測試計劃

首先我們新建一個測試計劃,並將其命名為:Test MySQLDB Plan,如下圖所示:

3.2在測試計劃下添加驅動地址

在建立好測試計劃以後,點擊“Browse…”,選擇我們前邊下載解壓好的驅動路徑,我們需要將驅動的地址(路徑)添加到測試計劃下邊,如下圖所示:

3.3添加用戶

新建完測試計劃以後,我們前邊也講過了,這時候就要添加用戶了。你要對每個JMeter測試計劃進行的第一步是添加一個線程組(用戶)。線程組告訴JMeter您要模擬的用戶數量,用戶應多久發送一次請求以及應發送多少次請求。這裏就相當於諜戰片中我們開始選擇隊員組隊的過程,默認是一人一個小組,如果你覺得不夠可以在控制面板修改人數等等。如下圖所示:

3.4添加JDBC連接配置

通過上邊的操作,我們已經定義了用戶挑選了隊員組成了精幹小組,然後我們必須定義這些用戶(隊員)所要去的目的地,和目的地建立聯繫。不要這些用戶累死累活的幹了半天的活,知不道是為誰幹得活。在本部分中,你需要和目的地建立聯繫。我們需要設置一些字段,這些字段相當於諜戰片中的接頭暗號,例如:《智取威虎山》楊子榮與坐山雕的接頭暗號:臉紅什麼?精神煥發。怎麼又黃拉?防冷塗的蠟;長江長江我是黃河,等等。暗號對上了,才可以建立聯繫。否則認為有危險,不是建立聯繫,具體在測試中的表現就是報錯了!!!,下邊控制面板的參数字段在上一篇已經說過了,這裏就不贅述了,宏哥直接填寫了,有不明白的可以看看上一篇文章。如下圖所示:

3.5添加JDBC請求

 通過上邊的操作,我們已經定義了用戶並且已經知道目的地和接頭人建立了聯繫之後,然後我們就需要給這些用戶分配具體的任務了(誰負責監視,誰負責刺殺,誰負責放哨)。在本部分中,你將指定要執行的JDBC請求(刺殺任務)。這裏就開始執行刺殺任務,期間有核查組員的人物背景、其他組員支援、以及自己組員的犧牲、任務的變更等等

3.5.1查詢(核查組員信息)

3.5.2插入(其他組員支援)

3.5.3修改(組員檔案變更)

3.5.4刪除(自己組員犧牲)

3.6添加監聽器以查看/存儲測試結果(監聽器-查看任務是否成功)

您需要添加到測試計劃中的最後一個元素是 Listener。該元素負責將JDBC請求的所有結果存儲在文件中並显示結果。如下圖所示:

3.7保存與執行測試計劃

保存與執行測試計劃,查看任務結果,如下圖所示:

宏哥為了讓小夥伴們看得清楚,講後邊的三個請求都修改成disable了,修改後由黑色變成了灰色。然後慢慢的逐個再將其修改成enable。如下圖所示:

3.7.1核查人員信息情況

1、首先查詢MySQL數據,如下圖所示:

2、看一下JMeter執行后與上邊的查詢結果一致,說明核查人員信息成功。如下圖所示:

3.7.2核查人員支援情況

1、首先查詢MySQL數據,只有四個人員,如下圖所示:

※想知道最厲害的網頁設計公司嚨底家"!

RWD(響應式網頁設計)是透過瀏覽器的解析度來判斷要給使用者看到的樣貌

2、JMeter執行后,北京宏哥前來支援,我們分別查看MySQL和JMeter的結果,如下圖所示:

JMeter:

MySQL:

3.7.3核查人員變更情況

1、首先查詢MySQL數據,只有五個人員,如下圖所示:

2、JMeter執行后,將“趙六”變更成“趙麗”,我們分別查看MySQL和JMeter的結果,如下圖所示:

JMeter:

MySQL:

3.7.4核查人員犧牲情況

1、首先查詢MySQL數據,只有五個人員,如下圖所示:

2、JMeter執行后,李四在任務中犧牲,我們分別查看MySQL和JMeter的結果,如下圖所示:

JMeter:

MySQL:

4.小結

1、Cannot load JDBC driver class ‘com.mysql.jdbc.Driver’

原因:未在jmeter安裝目錄下的./lib目錄下放入mysql-connector-java-X.X.X-bin.jar

解決方法:將mysql-connector-java-X.X.X-bin.jar放入到./lib目錄,並重啟jmeter

2、CLIENT_PLUGIN_AUTH is required 

原因:導入的 mysql-connector-java-X.X.X-bin.jar版本問題(原來導入mysql-connector-java-8.0.17.jar),上網查資料,知驅動和mysql數據庫的版本也有關係(參考mysql-connector-java之6.0.6版本,SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required異常問題 – wenqi0501的個人空間 – OSCHINA  https://my.oschina.net/u/3640994/blog/3000068)

mysql官網驅動版本和數據庫版本說明,地址:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html

解決方法:替換成mysql-connector-java-5.1.47.jar后問題解決
3、Variable Name must not be null in Insert

原因:未在JDBC Request的控制面板里填寫綁定的連接池

解決辦法:填寫和JDBC Connection Configuration一樣的連接池即可

4、以下是各數據庫Database URL、JDBC Driver class 填寫方式

數據庫名 Database URL  Driver class
MySQL jdbc:mysql://host[:port]/dbname com.mysql.jdbc.Driver
PostgreSQL jdbc:postgresql:{dbname} org.postgresql.Driver
Oracle jdbc:oracle:thin:@//host:port/service OR jdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid}))) oracle.jdbc.OracleDriver
Ingress (2006) jdbc:ingres://host:port/db[;attr=value] ingres.jdbc.IngresDriver
Microsoft SQL Server (MS JDBC driver) jdbc:sqlserver://host:port;DatabaseName=dbname com.microsoft.sqlserver.jdbc.SQLServerDriver
Apache Derby jdbc:derby://server[:port]/databaseName[;URLAttributes=value[;…]] org.apache.derby.jdbc.ClientDriver

 

   好了今天的建立數據庫測試計劃實戰<MySQL數據庫>就分享到這裏。

 

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得隨手點波  推薦  不要忘記哦!!!

別忘了點 推薦 留下您來過的痕迹

 

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

當全世界的人們隨著網路時代而改變向上時您還停留在『網站美醜不重要』的舊有思維嗎?機會是留給努力改變現況的人們,別再浪費一分一秒可以接觸商機的寶貴時間!