IBM MQ 與 JMeter:第一次接觸

嘿哈布爾!

這是我的前傳 以前的出版物 同時對這篇文章進行了翻拍 使用 JMeter 使用 MQ 協定自動測試服務.

這次我將向您介紹我協調 JMeter 和 IBM MQ 以便在 IBM WAS 上愉快地測試應用程式的經驗。我面臨這樣的任務,這並不容易。我想幫助每個有興趣的人節省時間。

IBM MQ 與 JMeter:第一次接觸

介紹

關於這個專案:資料匯流排、許多 xml 訊息、三個交換區域(佇列、資料庫、檔案系統)、具有自己的訊息處理邏輯的 Web 服務。隨著專案的進展,手動測試變得越來越困難。 Apache JMeter 應運而生-強大且開源,擁有龐大的使用者社群和友善的介面。開箱即用的版本易於定制,讓您能夠涵蓋任何情況,並且首席開發人員承諾提供幫助 萬一 (它確實有幫助)最終確認了我的選擇。

準備初始上下文

要與佇列管理器交互,您需要一個初始上下文。有好幾種類型,這裡 這裡 你可以閱讀更多內容。
要建立它,使用 MQ Explorer 很方便:

IBM MQ 與 JMeter:第一次接觸
圖 1:新增初始上下文

選擇上下文檔案類型和儲存目錄 .綁定 文件將包含 JNDI 物件的描述:

IBM MQ 與 JMeter:第一次接觸
圖 2:選擇初始上下文類型

然後你就可以開始創建這些物件了。從連接工廠開始:

IBM MQ 與 JMeter:第一次接觸
圖 3:創建連接工廠

選擇一個友善的名字...

IBM MQ 與 JMeter:第一次接觸
圖 4:選擇連接工廠名稱

....然後輸入 隊列連接工廠:

IBM MQ 與 JMeter:第一次接觸
圖 5:選擇連接工廠類型

協定 - 訊息隊列客戶端 能夠與 MQ 遠端互動:

IBM MQ 與 JMeter:第一次接觸
圖 6:連接工廠協議選擇

在下一步中,您可以選擇現有工廠並​​從中複製更多設定。點選 下一頁,如果沒有:

IBM MQ 與 JMeter:第一次接觸
圖 7:為現有連接工廠選擇設置

在參數選擇視窗中,指定三個就足夠了。在選項卡上 連線設定 指示佇列管理器和 IP 站的名稱及其位置(連接埠 1414 離開):

IBM MQ 與 JMeter:第一次接觸
圖 8:配置連接工廠參數

在選項卡上 通道數 — 連接頻道。點選 去完成:

IBM MQ 與 JMeter:第一次接觸
圖 9:完成連接工廠創建

現在讓我們建立到隊列的連接:

IBM MQ 與 JMeter:第一次接觸
圖 10:建立目標對象

讓我們選擇一個友好的名稱(我更喜歡指示隊列的真實名稱)並輸入 隊列:

IBM MQ 與 JMeter:第一次接觸
圖 11:選擇目標名稱和類型

類推 圖7 您可以從現有佇列複製設定。另請點擊 下一頁,如果是第一個:

IBM MQ 與 JMeter:第一次接觸
圖 12:為現有目標選擇設置

在設定視窗中,只需選擇管理員的名稱和所需的佇列,然後按一下 。然後重複所需的次數,直到創建了與 JMeter 互動所需的所有隊列:

IBM MQ 與 JMeter:第一次接觸
圖 13:完成目標創建

準備JMeter

準備 JMeter 涉及添加與 MQ 互動所需的庫。它們位於 %wmq_home%/java/lib 中。在啟動 JMeter 之前將它們複製到 %jmeter_home%/lib/ext。

  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.headers.jar
  • com.ibm.mq.jar
  • com.ibm.mq.jmqi.jar
  • com.ibm.mq.pcf.jar
  • com.ibm.mqjms.jar
  • dhbcore.jar
  • fscontext.jar
  • jms.jar
  • jta.jar
  • 提供者工具.jar

建議的替代清單 極地尼克 в 評論 有一點細微差別:javax.jms-api-2.0.jar 而不是 jms.jar。
jms.jar出現錯誤NoClassDEfFoundError,我找到的解決方案 這裡.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • 提供者工具.jar

這兩個函式庫清單都可以成功地與 JMeter 5.0 和 IBM MQ 8.0.0.4 搭配使用。

制定測試計劃

必要且充分的 JMeter 元素集如下所示:

IBM MQ 與 JMeter:第一次接觸
圖 14:測試計劃

範例測試計劃中有五個變數。儘管數量很少,但我建議為不同類型的變數建立單獨的配置元素。隨著測試的成長,這將使導航變得更加容易。在這種情況下,我們得到兩個清單。第一個包含用於連接 MQ 的參數(請參閱。 圖2 и 圖4):

IBM MQ 與 JMeter:第一次接觸
圖 15:MQ 連線選項

第二個是引用佇列的目標物件的名稱:

IBM MQ 與 JMeter:第一次接觸
圖 16:參數化佇列名稱

剩下的就是配置 JMS Publisher 將測試訊息載入到傳出佇列中:

IBM MQ 與 JMeter:第一次接觸
圖 17:設定 JMS 發布者

JMS 訂閱者從傳入佇列讀取訊息:

IBM MQ 與 JMeter:第一次接觸
圖 18:配置 JMS 訂閱者

如果一切都正確完成,偵聽器中的執行結果將充滿明亮歡快的綠色。

結論

我故意省略了路由和管理問題;這些對於單獨的出版物來說是相當親密和廣泛的主題。

此外,在使用佇列、資料庫和文件時存在很大一部分細微差別,我也想單獨詳細地討論這些細微差別。

節省您的時間。 感謝您的關注。

IBM MQ 與 JMeter:第一次接觸

來源: www.habr.com