Ahoj, Habr!
Tohle je prequel mého a zároveň remake článku .
Tentokrát se podělím o svou zkušenost s integrací JMeter a IBM MQ pro radostné testování aplikací na IBM WAS. S tímto úkolem jsem se setkal a nebylo to snadné. Chci pomoci všem zainteresovaným ušetřit čas.

Úvod
O projektu: datová sběrnice, množství xml zpráv, tři oblasti výměny (fronty, databáze, souborový systém), webové služby se svojí logikou zpracování zpráv. S postupem vývoje projektu bylo čím dál tím obtížnější testovat ručně. Na pomoc přišel Apache JMeter — výkonný a open-source nástroj s velkým uživatelským komunitou a přívětivým rozhraním. Snadná customizace verze "out of the box" pokrývá jakékoli scénáře, a slib hlavního vývojáře pomoci pokud bude potřeba (skutečně pomohl) mě definitivně utvrdil v rozhodnutí.
Příprava počátečního kontextu
Pro interakci s manažerem front potřebujeme počáteční kontext. Může mít několik typů, zde můžete se dočíst více.
Pro jeho vytvoření je pohodlné použít MQ Explorer:

Obrázek 1: Přidání počátečního kontextu
Vyberte typ kontextu a adresář pro ukládání .bindings souboru, který bude obsahovat popis JNDI objektů:

Obrázek 2: Výběr typu počátečního kontextu
Poté můžeme začít vytvářet tyto objekty. A začneme u továrny na spojení:

Obrázek 3: Vytváření továrny na spojení
Vyberte jasný název…

Obrázek 4: Výběr názvu továrny na spojení
… a typ Queue Connection Factory:

Obrázek 5: Výběr typu továrny na spojení
Protokol — MQ Client pro možnost vzdálené interakce s MQ:

Obrázek 6: Výběr protokolu továrny na spojení
V dalším kroku můžete vybrat již existující továrnu a další nastavení z ní zkopírovat. Klikněte Další, pokud taková není:

Obrázek 7: Výběr nastavení existující továrny na spojení
V okně výběru parametrů stačí zadat tři. Na kartě Connection uvést jméno manažera front a ip adresu standu s jeho umístěním (port 1414 nechat):

Obrázek 8: Nastavení parametrů továrny na spojení
A na kartě Channels — kanál pro připojení. Klikněte Dokončit pro dokončení:

Obrázek 9: Dokončení vytvoření továrny na spojení
Nyní vytvoříme připojení k frontě:

Obrázek 10: Vytvoření cílového objektu
Zvolíme jasný název (preferuji uvádět skutečný název fronty) a typ Fronta:

Obrázek 11: Výběr názvu a typu cílového objektu
Analogicky s Obrázkem 7 můžeme zkopírovat nastavení z existující fronty. Také stiskneme Další, pokud je první:

Obrázek 12: Výběr nastavení existujícího cílového objektu
V okně nastavení stačí vybrat jméno manažera a požadovanou frontu, stisknout Dokončit. Poté opakujeme požadovaný početkrát, dokud nebudou vytvořeny všechny fronty potřebné pro interakci s JMeterem:

Obrázek 13: Dokončení vytváření cílového objektu
Příprava JMeteru
Příprava JMeteru spočívá v přidání knihoven nezbytných pro interakci s MQ. Ty se nacházejí v %wmq_home%/java/lib. Zkopírujte je do %jmeter_home%/lib/ext před spuštění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
Alternativní seznam, navrhovaný v s malou nuancí: javax.jms-api-2.0.jar místo jms.jar.
S jms.jar vzniká chyba NoClassDEfFoundError, jejíž řešení nalezl .
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Oba seznamy knihoven úspěšně fungují s JMeterem 5.0 a IBM MQ 8.0.0.4.
Nastavení testovacího plánu
Potřebný a dostatečný soubor elementů JMeteru vypadá takto:

Obrázek 14: Testovací plán
V příkladu testovacího plánu je pět proměnných. I přes malé množství doporučuji vytvářet samostatné konfigurační prvky pro různé typy proměnných. S rostoucím počtem testů to výrazně usnadní navigaci. V tomto případě vznikají dva seznamy. První obsahuje parametry připojení k MQ (viz. Obrázek 2 a Obrázek 4):

Obrázek 15: Parametry připojení k MQ
Druhý — názvy cílových objektů, které odkazují na fronty:

Obrázek 16: Parametrizované názvy front
Zbývá nastavit JMS Publisher pro nahrání testovací zprávy do výchozí fronty:

Obrázek 17: Nastavení JMS Publisher
A JMS Subscriber pro čtení zprávy z příchozí fronty:

Obrázek 18: Nastavení JMS Subscriber
Pokud je vše uděláno správně, výsledek vykonání se v listeneru naplní jasnými a veselými zelenými barvami.
Závěr
Úmyslně jsem opustil témata směrování a správy, jedná se o poměrně intimní a rozsáhlá témata pro samostatné publikace.
Kromě toho existuje řada nuancí v práci s frontami, databázemi a soubory, o kterých bychom chtěli hovořit samostatně a podrobně.
Chraňte svůj čas. A děkujeme za pozornost.

Zdroj: habr.com
