Helló, Habr!
Ez egy előzménye a és ugyanakkor egy cikk újragondolása .
Ezúttal megosztom tapasztalataimat az IBM MQ és JMeter összeegyeztetéséről az IBM WAS alkalmazások boldog teszteléséhez. Egy olyan feladattal találkoztam, ami nem volt könnyű. Szeretnék segíteni mindenkinek, akit érdekel, hogy időt spóroljon.

Bevezetés
A projektről: adatbusz, több xml-üzenet, három csere terület (sorok, adatbázis, fájlrendszer), webszolgáltatások saját üzenetfeldolgozási logikájukkal. A projekt fejlődésével a manuális tesztelés egyre nehezebbé vált. Segítségül hívta az Apache JMeter-t - egy erős, nyílt forráskódú eszközt, nagy felhasználói közösséggel és barátságos felülettel. A „dobozból” való könnyű testreszabás lehetővé teszi bármilyen eset lefedését, és a fő fejlesztő ígérete, hogy segít, ha bármire szükség van (tényleg segített) véglegessé tette a választást.
Kezdő kontextus létrehozása
A sorkezelővel való interakcióhoz szükséges egy kezdő kontextus. Különböző típusai léteznek, itt többet lehet olvasni.
A létrehozásához kényelmes használni a MQ Explorert:

1. ábra: Kezdő kontextus hozzáadása
Válassza ki a fájltípus kontextust és a tárolási könyvtárat .bindings fájl, amely tartalmazza a JNDI-objektumok leírását:

2. ábra: Kezdő kontextus típusának kiválasztása
Ezután elkezdheti ezen objektumok létrehozását. Kezdje a kapcsolatgyártóval:

3. ábra: Kapcsolatgyártó létrehozása
Válasszon érthető nevet...

4. ábra: Kapcsolatgyártó nevének kiválasztása
... és típust Queue Connection Factory:

5. ábra: Kapcsolatgyártó típusának kiválasztása
Protokoll - MQ Client az MQ távoli elérhetőségéhez:

6. ábra: Kapcsolatgyártó protokolljának kiválasztása
A következő lépésben egy már létező gyártót választhat ki, és a további beállításokat másolhatja róla. Kattintson Tovább, ha nincs ilyen:

7. ábra: Létező kapcsolatgyártó beállításainak kiválasztása
A paraméterek kiválasztása ablakban elegendő három adatot megadni. A "Connection" fülön Connection adja meg a sorkezelő nevét és az ip címet, ahol található (a portot 1414 hagyja üresen):

8. ábra: Kapcsolatgyártó paramétereinek beállítása
És a "Channels" fülön - a csatorna a kapcsolathoz. Kattintson a Befejezés gombra a befejezéshez: 9. ábra: A kapcsolatgyártó létrehozásának befejezése gombra a befejezéshez:

9. ábra: A kapcsolatgyártó létrehozásának befejezése
Most készítsünk kapcsolatot a sorral:

10. ábra: Célobjektum létrehozása
Válasszunk egy érthető nevet (személy szerint a valódi sor nevét javaslom) és típust Sor:

11. ábra: Név és típusszelekció a célobjektumhoz
Hasonlóan a 7. ábrához , másolhatjuk a létező sor beállításait is. Kattintsunk a Tovább, ha ez az első:

12. ábra: Létező célobjektum beállításainak kiválasztása
A beállítások ablakában elegendő a menedzser nevét és a kívánt sort választani, majd kattintani a 9. ábra: A kapcsolatgyártó létrehozásának befejezése. Ezt követően ismételjük meg szükség szerint, amíg az összes, a JMeterrel való interakcióhoz szükséges sor létre nem jön:

13. ábra: Célobjektum létrehozásának befejezése
JMeter előkészítése
A JMeter előkészítése a MQ-val való interakcióhoz szükséges könyvtárak hozzáadását jelenti. Ezek a következő mappában találhatók: %wmq_home%/java/lib. Másolja őket a %jmeter_home%/lib/ext könyvtárba a JMeter indítása előtt.
- 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ív lista, amelyet javasolt be. kis eltéréssel: javax.jms-api-2.0.jar a jms.jar helyett.
A jms.jar használatakor NoClassDefFoundError hiba lép fel, amelynek megoldását találtam .
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Mindkét könyvtárlista sikeresen működik a JMeter 5.0 és az IBM MQ 8.0.0.4 verzióval.
Tesztterv beállítása
A szükséges és elegendő JMeter elemek készlete a következőképpen néz ki:

14. ábra: Tesztterv
A tesztterv példájában öt változó található. A kis számuk ellenére javaslom, hogy külön konfigurációs elemeket hozzunk létre a különböző változó típusok számára. Ahogy a tesztek nőnek, ez jelentősen megkönnyíti a navigációt. Ebben az esetben két lista keletkezik. Az első a MQ-hoz való csatlakozás paramétereit tartalmazza (lásd: 2. ábra és 4. ábra):

15. ábra: Csatlakozási paraméterek MQ-hoz
A második a sorokra hivatkozó célobjektumok nevét tartalmazza:

16. ábra: Paraméterezett sornevek
Most be kell állítanunk a JMS Publisht a tesztüzenet kimenő sorba történő betöltéséhez:

17. ábra: JMS Publisher beállítása
És a JMS Subscriber-t az üzenet beolvasásához a bejövő sorból:

18. ábra: JMS Subscriber beállítása
Ha minden rendben van, a végrehajtás eredménye a figyelőben élénk és boldog zöld színekkel telik meg.
Zárás
Szándékosan kihagytam a forgalmazás és az adminisztráció kérdését, ezek meglehetősen intim és széles témák, amelyek külön publikációkat igényelnek.
Ezenkívül van egy jelentős rész nyűg a sorokkal, adatbázisokkal és fájlokkal kapcsolatban, amelyekről szintén szeretnék külön és alaposan beszélni.
Őrizzétek meg az időtöket. Köszönjük a figyelmet.

Forrás: habr.com
