IBM MQ a JMeter: Prvý kontakt

Ahoj, Habr!

Toto je prequel môjho predchádzajúceho príspevku a zároveň remake článku Automatizované testovanie služieb využívajúcich protokol MQ pomocou JMeter.

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.

IBM MQ a JMeter: Prvý kontakt

Ú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 tu si môžete prečítať viac.
Na jeho vytvorenie je pohodlné použiť MQ Explorer:

IBM MQ a JMeter: Prvý kontakt
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:

IBM MQ a JMeter: Prvý kontakt
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:

IBM MQ a JMeter: Prvý kontakt
Obrázok 3: Vytvorenie továrne na spojenia

Vyberte zrozumiteľné meno…

IBM MQ a JMeter: Prvý kontakt
Obrázok 4: Výber mena továrne na spojenia

… a typ Queue Connection Factory:

IBM MQ a JMeter: Prvý kontakt
Obrázok 5: Výber typu továrne na spojenia

Protokol — MQ Client pre možnosť vzdialenej interakcie s MQ:

IBM MQ a JMeter: Prvý kontakt
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:

IBM MQ a JMeter: Prvý kontakt
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ý):

IBM MQ a JMeter: Prvý kontakt
Obrázok 8: Nastavenie parametrov továrne na spojenia

A na karte Channels — kanál pre spojenie. Kliknite na Dokončiť na dokončenie:

IBM MQ a JMeter: Prvý kontakt
Obrázok 9: Dokončenie vytvorenia továrne na spojenia

Teraz vytvoríme pripojenie k frontu:

IBM MQ a JMeter: Prvý kontakt
Obrázok 10: Vytvorenie cieľového objektu

Vyberme zrozumiteľný názov (preferujem uviesť skutočné meno fronty) a typ Fronta:

IBM MQ a JMeter: Prvý kontakt
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á:

IBM MQ a JMeter: Prvý kontakt
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:

IBM MQ a JMeter: Prvý kontakt
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ý polarnik v komentároch 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 tu.

  • 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:

IBM MQ a JMeter: Prvý kontakt
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):

IBM MQ a JMeter: Prvý kontakt
Obrázok 15: Parametre pripojenia k MQ

Druhý — mená cieľových objektov, ktoré sa odkazujú na fronty:

IBM MQ a JMeter: Prvý kontakt
Obrázok 16: Parametrizované mená front

Zostáva nastaviť JMS Publisher na odoslanie testovacej správy do odchádzajúcej fronty:

IBM MQ a JMeter: Prvý kontakt
Obrázok 17: Nastavenie JMS Publisher

A JMS Subscriber na čítanie správy z prichádzajúcej fronty:

IBM MQ a JMeter: Prvý kontakt
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ť.

IBM MQ a JMeter: Prvý kontakt

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster