IBM MQ an JMeter: Éischte Kontakt

Hey Habr!

Dëst ass e Prequel zu mengem virdrun Publikatioun a gläichzäiteg e Remake vum Artikel Automatiséiert Testen vu Servicer mam MQ Protokoll mat JMeter.

Dës Kéier wäert ech Iech iwwer meng Erfahrung soen fir JMeter an IBM MQ ze versöhnen fir glécklech Testen vun Uwendungen op IBM WAS. Ech war mat esou enger Aufgab konfrontéiert, et war net einfach. Ech wëll hëllefen Zäit ze spueren fir jiddereen interesséiert.

IBM MQ an JMeter: Éischte Kontakt

Aféierung

Iwwert de Projet: Datebus, vill XML Messagen, dräi Austauschberäicher (Schlaangen, Datebank, Dateiesystem), Webservicer mat hirer eegener Messageveraarbechtungslogik. Wéi de Projet weidergaang ass, gouf manuell Tester ëmmer méi schwéier. Apache JMeter gouf op d'Rettung geruff - mächteg an oppe Quell, mat enger grousser Gemeinschaft vu Benotzer an engem frëndlechen Interface. D'Liichtegkeet vun der Personnalisatioun vun der Out-of-the-Box Versioun erlaabt Iech all Fäll ze decken, an dem Lead Entwéckler säi Verspriechen ze hëllefen just am Fall (et huet gehollef) endlech mäi Choix bestätegt.

Den initialen Kontext virbereeden

Fir mam Schlaangmanager ze interagéieren, braucht Dir en initialen Kontext. Et gi verschidden Zorte, hei hei Dir kënnt méi liesen.
Fir et ze kreéieren ass et bequem MQ Explorer ze benotzen:

IBM MQ an JMeter: Éischte Kontakt
Figur 1: Dobäizemaachen en initialen Kontext

Wielt de Kontextdateityp a Späicherverzeechnes .bindungen Datei déi eng Beschreiwung vun JNDI Objekter enthält:

IBM MQ an JMeter: Éischte Kontakt
Figur 2: Wielt den initialen Kontexttyp

Da kënnt Dir ufänken dës Objeten ze kreéieren. A fänkt mat der Verbindungsfabrik un:

IBM MQ an JMeter: Éischte Kontakt
Figur 3: Schafen eng Verbindung Fabréck

Wielt e frëndlechen Numm ...

IBM MQ an JMeter: Éischte Kontakt
Figur 4: Wielt eng Verbindung Fabréck Numm

... an Typ Queue Connection Factory:

IBM MQ an JMeter: Éischte Kontakt
Figur 5: Auswiel vun der Verbindung Fabréck Typ

Protokoll - MQ Client fir mat MQ op afstand ze interagéieren:

IBM MQ an JMeter: Éischte Kontakt
Figur 6: Verbindung Factory Protokoll Auswiel

Am nächste Schrëtt kënnt Dir eng existent Fabréck auswielen a weider Astellunge vun der kopéieren. Klickt nächst, wann et keen ass:

IBM MQ an JMeter: Éischte Kontakt
Figur 7: Auswiel vun Astellunge fir eng bestehend Verbindung Fabréck

An der Parameterauswielfenster ass et genuch fir dräi ze spezifizéieren. Op der Tab Connexioun gitt den Numm vum Schlaangmanager an den IP Stand mat senger Plaz (port 1414 verloossen):

IBM MQ an JMeter: Éischte Kontakt
Figur 8: Configuring Connexioun Factory Parameteren

An op der Tab Riewe - Kanal fir Verbindung. Klickt Freck fäerdeg maachen:

IBM MQ an JMeter: Éischte Kontakt
Figur 9: Ofschloss Verbindung Fabréck Kreatioun

Loosst eis elo eng Verbindung mat der Schlaang erstellen:

IBM MQ an JMeter: Éischte Kontakt
Figur 10: Schafen engem Zil Objet

Loosst eis e frëndlechen Numm wielen (Ech léiwer de richtegen Numm vun der Schlaang unzeginn) an Typ Erscheinung:

IBM MQ an JMeter: Éischte Kontakt
Figur 11: Wielt Zil Numm an Typ

Duerch Analogie mat Figur 7 Dir kënnt Astellunge vun enger existéierender Schlaang kopéieren. Klickt och nächst, wann et déi éischt ass:

IBM MQ an JMeter: Éischte Kontakt
Figur 12: Auswielen Astellunge fir en bestehend Zil

An der Astellungsfenster, wielt just den Numm vum Manager an déi gewënscht Schlaang, klickt Freck. Dann widderhuelen déi erfuerderlech Unzuel vun Mol bis all d'Schlaangen, déi néideg sinn fir mat JMeter ze interagéieren, erstallt goufen:

IBM MQ an JMeter: Éischte Kontakt
Figur 13: Ofschloss Zil Kreatioun

Preparéieren JMeter

JMeter virbereeden besteet aus der bäizefügen vun de Bibliothéiken déi néideg sinn fir mat MQ ze interagéieren. Si sinn an %wmq_home%/java/lib. Kopéiert se op %jmeter_home%/lib/ext ier Dir JMeter starten.

  • 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
  • providerutil.jar

Alternativ Lëscht proposéiert polarnik в Kommentaren mat enger klenger Nuance: javax.jms-api-2.0.jar amplaz jms.jar.
E Feeler NoClassDEfFoundError geschitt mat jms.jar, d'Léisung op déi ech fonnt hunn hei.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • providerutil.jar

Béid Lëschte vu Bibliothéike funktionnéieren erfollegräich mat JMeter 5.0 an IBM MQ 8.0.0.4.

Opstelle vun engem Testplang

Déi néideg a genuch Set vun JMeter Elementer gesäit esou aus:

IBM MQ an JMeter: Éischte Kontakt
Figur 14: Test plangen

Et gi fënnef Variabelen am Beispill Testplang. Trotz hirer klenger Zuel, ech recommandéieren separat Konfiguratiounselementer fir verschidden Zorte vu Variabelen ze kreéieren. Wéi Tester wuessen, wäert dëst d'Navigatioun vill méi einfach maachen. An dësem Fall kréie mir zwou Lëschten. Déi éischt enthält Parameteren fir mat MQ ze verbannen (kuckt. 2 Figur и 4 Figur):

IBM MQ an JMeter: Éischte Kontakt
Figur 15: MQ Connection Optiounen

Déi zweet ass d'Nimm vun den Zilobjekter déi op d'Schlaangen bezéien:

IBM MQ an JMeter: Éischte Kontakt
Figur 16: Parameteriséiert Schlaang Nimm

Alles wat bleift ass de JMS Publisher ze konfiguréieren fir den Testmeldung an d'ausgaende Schlaang ze lueden:

IBM MQ an JMeter: Éischte Kontakt
Figur 17: Astelle JMS Publisher

A JMS Abonnent fir e Message aus der erakommen Schlaang ze liesen:

IBM MQ an JMeter: Éischte Kontakt
Figur 18: Configuring JMS Abonnent

Wann alles richteg gemaach gëtt, gëtt d'Resultat vun der Ausféierung am Listner mat helle a frësche grénge Faarwen gefüllt.

Konklusioun

Ech hunn bewosst d'Froe vu Routing an Administratioun ausgelooss; dëst sinn zimlech intim an extensiv Themen fir getrennte Publikatiounen.

Zousätzlech gëtt et e wesentlechen Deel vun Nuancen am Zesummenaarbecht mat Schlaangen, Datenbanken an Dateien, iwwer déi ech och gären separat an am Detail schwätzen.

Spuert Är Zäit. A merci fir Är Opmierksamkeet.

IBM MQ an JMeter: Éischte Kontakt

Source: will.com