嘿哈布爾!
這是我的前傳
這次我將向您介紹我協調 JMeter 和 IBM MQ 以便在 IBM WAS 上愉快地測試應用程式的經驗。我面臨這樣的任務,這並不容易。我想幫助每個有興趣的人節省時間。
介紹
關於這個專案:資料匯流排、許多 xml 訊息、三個交換區域(佇列、資料庫、檔案系統)、具有自己的訊息處理邏輯的 Web 服務。隨著專案的進展,手動測試變得越來越困難。 Apache JMeter 應運而生-強大且開源,擁有龐大的使用者社群和友善的介面。開箱即用的版本易於定制,讓您能夠涵蓋任何情況,並且首席開發人員承諾提供幫助 萬一 (它確實有幫助)最終確認了我的選擇。
準備初始上下文
要與佇列管理器交互,您需要一個初始上下文。有好幾種類型,這裡
要建立它,使用 MQ Explorer 很方便:
圖 1:新增初始上下文
選擇上下文檔案類型和儲存目錄 .綁定 文件將包含 JNDI 物件的描述:
圖 2:選擇初始上下文類型
然後你就可以開始創建這些物件了。從連接工廠開始:
圖 3:創建連接工廠
選擇一個友善的名字...
圖 4:選擇連接工廠名稱
....然後輸入 隊列連接工廠:
圖 5:選擇連接工廠類型
協定 - 訊息隊列客戶端 能夠與 MQ 遠端互動:
圖 6:連接工廠協議選擇
在下一步中,您可以選擇現有工廠並從中複製更多設定。點選 下一頁,如果沒有:
圖 7:為現有連接工廠選擇設置
在參數選擇視窗中,指定三個就足夠了。在選項卡上 連線設定 指示佇列管理器和 IP 站的名稱及其位置(連接埠 1414 離開):
圖 8:配置連接工廠參數
在選項卡上 通道數 — 連接頻道。點選 完 去完成:
圖 9:完成連接工廠創建
現在讓我們建立到隊列的連接:
圖 10:建立目標對象
讓我們選擇一個友好的名稱(我更喜歡指示隊列的真實名稱)並輸入 隊列:
圖 11:選擇目標名稱和類型
類推 圖7 您可以從現有佇列複製設定。另請點擊 下一頁,如果是第一個:
圖 12:為現有目標選擇設置
在設定視窗中,只需選擇管理員的名稱和所需的佇列,然後按一下 完。然後重複所需的次數,直到創建了與 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
建議的替代清單
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 元素集如下所示:
圖 14:測試計劃
範例測試計劃中有五個變數。儘管數量很少,但我建議為不同類型的變數建立單獨的配置元素。隨著測試的成長,這將使導航變得更加容易。在這種情況下,我們得到兩個清單。第一個包含用於連接 MQ 的參數(請參閱。 圖2 и 圖4):
圖 15:MQ 連線選項
第二個是引用佇列的目標物件的名稱:
圖 16:參數化佇列名稱
剩下的就是配置 JMS Publisher 將測試訊息載入到傳出佇列中:
圖 17:設定 JMS 發布者
JMS 訂閱者從傳入佇列讀取訊息:
圖 18:配置 JMS 訂閱者
如果一切都正確完成,偵聽器中的執行結果將充滿明亮歡快的綠色。
結論
我故意省略了路由和管理問題;這些對於單獨的出版物來說是相當親密和廣泛的主題。
此外,在使用佇列、資料庫和文件時存在很大一部分細微差別,我也想單獨詳細地討論這些細微差別。
節省您的時間。 感謝您的關注。
來源: www.habr.com