Čau Habr!
Toto je prequel k mému
Tentokrát vám povím o své zkušenosti se slaďováním JMeter a IBM MQ pro spokojené testování aplikací na IBM WAS. Stál jsem před takovým úkolem, nebylo to jednoduché. Chci pomoci ušetřit čas všem zájemcům.
úvod
O projektu: datová sběrnice, mnoho xml zpráv, tři oblasti výměny (fronty, databáze, souborový systém), webové služby s vlastní logikou zpracování zpráv. Jak projekt postupoval, ruční testování bylo stále obtížnější. Na pomoc byl povolán Apache JMeter – výkonný a open source, s velkou komunitou uživatelů a přátelským rozhraním. Snadné přizpůsobení předpřipravené verze vám umožní pokrýt jakékoli případy a příslib hlavního vývojáře pomoci Pokud něco (to pomohlo) nakonec potvrdil můj výběr.
Příprava výchozího kontextu
K interakci se správcem front potřebujete počáteční kontext. Existuje několik typů, zde
K jeho vytvoření je vhodné použít MQ Explorer:
Obrázek 1: Přidání počátečního kontextu
Vyberte typ souboru kontextu a adresář úložiště .vázání soubor, který bude obsahovat popis objektů JNDI:
Obrázek 2: Výběr výchozího typu kontextu
Poté můžete začít vytvářet tyto objekty. A začněte továrnou na připojení:
Obrázek 3: Vytvoření továrny na připojení
Vyberte si přátelské jméno...
Obrázek 4: Výběr názvu výrobce připojení
... a typ Továrna na připojení fronty:
Obrázek 5: Výběr továrního typu připojení
Protokol - Klient MQ abyste mohli na dálku komunikovat s MQ:
Obrázek 6: Výběr továrního protokolu připojení
V dalším kroku můžete vybrat existující továrnu a zkopírovat z ní další nastavení. Klikněte další, pokud žádný není:
Obrázek 7: Výběr nastavení pro stávající továrnu na připojení
V okně výběru parametrů stačí zadat tři. Na kartě přípojka uveďte název správce front a IP stojan s jeho umístěním (port 1414 odejít):
Obrázek 8: Konfigurace továrních parametrů připojení
A na kartě Kanály — kanál pro připojení. Klikněte úprava dokončit:
Obrázek 9: Dokončení vytvoření továrny připojení
Nyní vytvoříme připojení k frontě:
Obrázek 10: Vytvoření cílového objektu
Zvolme popisný název (raději uvádím skutečný název fronty) a napište Fronta:
Obrázek 11: Výběr názvu a typu cíle
Analogicky s Obrázek 7 Nastavení můžete zkopírovat z existující fronty. Také klikněte další, pokud je první:
Obrázek 12: Výběr nastavení pro existující cíl
V okně nastavení stačí vybrat jméno manažera a požadovanou frontu, kliknout úprava. Poté opakujte požadovaný počet opakování, dokud nebudou vytvořeny všechny fronty potřebné k interakci s JMeter:
Obrázek 13: Dokončení vytváření cíle
Příprava JMeter
Příprava JMeter zahrnuje přidání knihoven potřebných k interakci s MQ. Jsou umístěny v %wmq_home%/java/lib. Před spuštěním JMeter je zkopí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ý alternativní seznam
Chyba NoClassDEfFoundError se vyskytuje u jms.jar, řešení, které jsem našel
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Oba seznamy knihoven úspěšně fungují s JMeter 5.0 a IBM MQ 8.0.0.4.
Nastavení testovacího plánu
Potřebná a dostatečná sada prvků JMeter vypadá takto:
Obrázek 14: Plán testu
V příkladu testovacího plánu je pět proměnných. I přes jejich malý počet doporučuji vytvořit samostatné konfigurační prvky pro různé typy proměnných. S rostoucími testy to usnadní navigaci. V tomto případě dostaneme dva seznamy. První obsahuje parametry pro připojení k MQ (viz. Obrázek 2 и Obrázek 4):
Obrázek 15: Možnosti připojení MQ
Druhým jsou názvy cílových objektů, které odkazují na fronty:
Obrázek 16: Parametrizované názvy front
Zbývá pouze nakonfigurovat JMS Publisher tak, aby načetl testovací zprávu do odchozí fronty:
Obrázek 17: Nastavení JMS Publisher
A JMS Subscriber, aby si přečetl zprávu z příchozí fronty:
Obrázek 18: Konfigurace JMS Subscriber
Pokud je vše provedeno správně, výsledek popravy v posluchači bude naplněn jasnými a veselými zelenými barvami.
Závěr
Záměrně jsem vynechal problematiku směrování a administrace, to jsou spíše intimní a obsáhlá témata na samostatné publikace.
Kromě toho existuje značná část nuancí v práci s frontami, databázemi a soubory, o kterých bych také rád hovořil samostatně a podrobně.
Ušetřete čas. A děkuji za pozornost.
Zdroj: www.habr.com