Ahoj, Habr!
Toto je prequel môjho a zároveň remake článku .
Tentoraz sa podelím o svoju skúsenosť s integráciou JMeter a IBM MQ pre úspešné testovanie aplikácií na IBM WAS. Narazil som na takú úlohu, ktorá nebola jednoduchá. Chcem pomôcť ušetriť čas všetkým zainteresovaným.

Úvod
O projekte: dátová zbernica, množstvo xml správ, tri oblasti výmeny (fronty, DB, súborový systém), webové služby so svojou logikou spracovania správ. S rozvojom projektu sa manuálne testovanie stalo čoraz zložitejším. Na pomoc prišiel Apache JMeter - silný a open-source nástroj, s veľkým komunitným zázemím a priateľským rozhraním. Jednoduchosť prispôsobenia verzie „z krabice“ umožňuje pokryť akékoľvek prípady, a sľub hlavného vývojára pomôcť ak niečo (naozaj pomohol) ma definitívne presvedčil o mojom výbere.
Príprava počiatočného kontextu
Na interakciu s manažérom frontov je potrebný počiatočný kontext. Existuje niekoľko typov, a tu si môžete prečítať viac.
Na jeho vytvorenie je pohodlné použiť MQ Explorer:

Obrázok 1: Pridanie počiatočného kontextu
Vyberte typ súboru kontextu a adresár pre uloženie .bindings súboru, ktorý bude obsahovať popis JNDI objektov:

Obrázok 2: Výber typu počiatočného kontextu
Potom môžete pristúpiť k vytváraniu týchto objektov. A začnite s továrňou na spojenia:

Obrázok 3: Vytvorenie továrne na spojenia
Vyberte zrozumiteľné meno…

Obrázok 4: Výber mena továrne na spojenia
… a typ Queue Connection Factory:

Obrázok 5: Výber typu továrne na spojenia
Protokol — MQ Client pre možnosť vzdialenej interakcie s MQ:

Obrázok 6: Výber protokolu továrne na spojenia
Na ďalšom kroku môžete vybrať už existujúcu továreň a ďalšie nastavenia skopírovať z nej. Kliknite na Next, ak taká nie je:

Obrázok 7: Výber nastavení existujúcej továrne na spojenia
V okne výberu parametrov stačí zadať tri. Na karte Pripojenie uveďte meno manažéra frontov a ip adresu servera s jeho umiestnením (port 1414 nechajte nezmenený):

Obrázok 8: Nastavenie parametrov továrne na spojenia
A na karte Channels — kanál pre spojenie. Kliknite na Dokončiť na dokončenie:

Obrázok 9: Dokončenie vytvorenia továrne na spojenia
Teraz vytvoríme pripojenie k frontu:

Obrázok 10: Vytvorenie cieľového objektu
Vyberme zrozumiteľný názov (preferujem uviesť skutočné meno fronty) a typ Fronta:

Obrázok 11: Výber názvu a typu cieľového objektu
Podobne ako obrázok 7 možno skopírovať nastavenia z existujúcej fronty. Taktiež stlačte Next, ak je prvá:

Obrázok 12: Výber nastavení existujúceho cieľového objektu
V okne nastavení stačí vybrať meno správcu a požadovanú frontu, stlačiť Dokončiť. Potom to zopakujte toľkokrát, až kým nebudú vytvorené všetky fronty potrebné na interakciu s JMeterom:

Obrázok 13: Dokončenie vytvorenia cieľového objektu
Príprava JMeteru
Príprava JMeteru spočíva v pridaní knižníc potrebných na interakciu s MQ. Tieto sa nachádzajú v %wmq_home%/java/lib. Skopírujte ich do %jmeter_home%/lib/ext pred spustením JMeteru.
- 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
Alternatívny zoznam, navrhnutý v s drobnou úpravou: javax.jms-api-2.0.jar namiesto jms.jar.
S jms.jar sa objavuje chyba NoClassDEfFoundError, ktorej riešenie som našiel .
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Oba zoznamy knižníc úspešne fungujú s JMeterom 5.0 a IBM MQ 8.0.0.4.
Nastavenie testovacieho plánu
Nezbytný a dostatočný súbor prvkov JMeteru vyzerá takto:

Obrázok 14: Testovací plán
V príklade testovacieho plánu je päť premenných. Napriek ich malej kvantite odporúčam zakladať samostatné konfiguračné prvky pod rôzne typy premenných. S rastom testov to podstatne zjednoduší navigáciu. V tomto prípade vzniknú dva zoznamy. Prvý obsahuje parametre pripojenia k MQ (pozri Obrázok 2 a Obrázok 4):

Obrázok 15: Parametre pripojenia k MQ
Druhý — mená cieľových objektov, ktoré sa odkazujú na fronty:

Obrázok 16: Parametrizované mená front
Zostáva nastaviť JMS Publisher na odoslanie testovacej správy do odchádzajúcej fronty:

Obrázok 17: Nastavenie JMS Publisher
A JMS Subscriber na čítanie správy z prichádzajúcej fronty:

Obrázok 18: Nastavenie JMS Subscriber
Ak je všetko urobené správne, výsledok vykonania v listeneri sa naplní jasnými a radostnými zelenými farbami.
Záver
Zámerne som vynechal otázky smerovania a administrácie, sú to pomerne intímne a široké témy na samostatné publikácie.
Okrem toho existuje množstvo nuáns v práci s frontami, databázami a súbormi, o ktorých by sme sa mali podrobne a osobitne porozprávať.
Chráňte si svoj čas. A ďakujem za pozornosť.

Zdroj: habr.com
