IBM MQ a JMeter: Prvý kontakt

Čau Habr!

Toto je môj prequel predchádzajúcej publikácii a zároveň remake článku Automatizované testovanie služieb pomocou protokolu MQ pomocou JMeter.

Tentoraz vám poviem o mojej skúsenosti so zosúladením JMeter a IBM MQ pre úspešné testovanie aplikácií na IBM WAS. Stál som pred takouto úlohou, nebolo to jednoduché. Chcem pomôcť ušetriť čas všetkým záujemcom.

IBM MQ a JMeter: Prvý kontakt

Úvod

O projekte: dátová zbernica, veľa xml správ, tri oblasti výmeny (fronty, databáza, súborový systém), webové služby s vlastnou logikou spracovania správ. Ako projekt postupoval, manuálne testovanie bolo čoraz ťažšie. Na záchranu bol povolaný Apache JMeter – výkonný a otvorený zdroj, s veľkou komunitou používateľov a priateľským rozhraním. Jednoduché prispôsobenie predpripravenej verzie vám umožňuje pokryť všetky prípady a prísľub hlavného vývojára pomôcť keby niečo (to pomohlo) nakoniec potvrdil môj výber.

Príprava počiatočného kontextu

Na interakciu so správcom frontov potrebujete úvodný kontext. Existuje niekoľko typov, tu tu môžete si prečítať viac.
Na jeho vytvorenie je vhodné použiť MQ Explorer:

IBM MQ a JMeter: Prvý kontakt
Obrázok 1: Pridanie počiatočného kontextu

Vyberte typ kontextového súboru a adresár úložiska .väzby súbor, ktorý bude obsahovať popis objektov JNDI:

IBM MQ a JMeter: Prvý kontakt
Obrázok 2: Výber počiatočného typu kontextu

Potom môžete začať vytvárať tieto objekty. A začnite s továrňou na pripojenie:

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

Vyberte si priateľské meno...

IBM MQ a JMeter: Prvý kontakt
Obrázok 4: Výber výrobného názvu pripojenia

... a typ Továreň na pripojenie frontu:

IBM MQ a JMeter: Prvý kontakt
Obrázok 5: Výber výrobného typu pripojenia

Protokol - Klient MQ aby ste mohli komunikovať s MQ na diaľku:

IBM MQ a JMeter: Prvý kontakt
Obrázok 6: Výber výrobného protokolu pripojenia

V ďalšom kroku môžete vybrať existujúcu továreň a skopírovať z nej ďalšie nastavenia. Kliknite ďalšie, ak neexistuje:

IBM MQ a JMeter: Prvý kontakt
Obrázok 7: Výber nastavení pre existujúcu továreň na pripojenie

V okne výberu parametrov stačí zadať tri. Na karte Spojenie uveďte názov správcu frontu a stojan IP s jeho umiestnením (port 1414 odísť):

IBM MQ a JMeter: Prvý kontakt
Obrázok 8: Konfigurácia výrobných parametrov pripojenia

A na karte Kanály — kanál na pripojenie. Kliknite úprava dokončiť:

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

Teraz vytvorte pripojenie k frontu:

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

Vyberieme si priateľský názov (radšej uvádzam skutočný názov frontu) a napíšme front:

IBM MQ a JMeter: Prvý kontakt
Obrázok 11: Výber názvu a typu cieľa

Analogicky s Obrázok 7 Nastavenia môžete skopírovať z existujúceho frontu. Tiež kliknite ďalšie, ak je prvý:

IBM MQ a JMeter: Prvý kontakt
Obrázok 12: Výber nastavení pre existujúci cieľ

V okne nastavení stačí vybrať meno manažéra a požadovaný front, kliknúť úprava. Potom opakujte požadovaný počet krát, kým sa nevytvoria všetky fronty potrebné na interakciu s JMeter:

IBM MQ a JMeter: Prvý kontakt
Obrázok 13: Dokončenie vytvárania cieľa

Príprava JMeter

Príprava JMeter zahŕňa pridanie knižníc potrebných na interakciu s MQ. Sú umiestnené v %wmq_home%/java/lib. Pred spustením JMeter ich skopírujte do %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
  • providerutil.jar

Navrhovaný alternatívny zoznam polarnik в žiadne komentáre s malou nuansou: javax.jms-api-2.0.jar namiesto jms.jar.
Chyba NoClassDEfFoundError sa vyskytuje v súbore jms.jar, ktorého 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 JMeter 5.0 a IBM MQ 8.0.0.4.

Nastavenie plánu testovania

Potrebná a dostatočná množina prvkov JMeter vyzerá takto:

IBM MQ a JMeter: Prvý kontakt
Obrázok 14: Plán testu

Vo vzorovom pláne testovania je päť premenných. Napriek ich malému počtu odporúčam vytvárať samostatné konfiguračné prvky pre rôzne typy premenných. S pribúdajúcimi testami to značne uľahčí navigáciu. V tomto prípade dostaneme dva zoznamy. Prvý obsahuje parametre pre pripojenie k MQ (pozri. Obrázok 2 и Obrázok 4):

IBM MQ a JMeter: Prvý kontakt
Obrázok 15: Možnosti pripojenia MQ

Druhým sú názvy cieľových objektov, ktoré odkazujú na fronty:

IBM MQ a JMeter: Prvý kontakt
Obrázok 16: Parametrizované názvy frontov

Zostáva len nakonfigurovať JMS Publisher na načítanie testovacej správy do odchádzajúceho frontu:

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

A predplatiteľ JMS na prečítanie správy z prichádzajúceho frontu:

IBM MQ a JMeter: Prvý kontakt
Obrázok 18: Konfigurácia predplatiteľa JMS

Ak je všetko vykonané správne, výsledok popravy v poslucháčovi bude naplnený jasnými a veselými zelenými farbami.

Záver

Zámerne som vynechal problematiku smerovania a správy, sú to skôr intímne a rozsiahle témy na samostatné publikácie.

Okrem toho existuje značná časť nuancií pri práci s frontami, databázami a súbormi, o ktorých by som tiež rád hovoril samostatne a podrobne.

Ušetrite čas. A ďakujem za pozornosť.

IBM MQ a JMeter: Prvý kontakt

Zdroj: hab.com