IBM MQ in JMeter: Prvi stik

Hello, Habr!

To je prequel mojega prejšnje objave in hkrati priredba članka Avtomatizirano testiranje storitev, ki uporabljajo protokol MQ s pomočjo JMeter.

Tokrat bom spregovoril o svoji izkušnji pri združevanju JMeter in IBM MQ za veselo testiranje aplikacij na IBM WAS. Naloga se je izkazala za zahtevno. Želim pomagati pri prihranku časa vsem zainteresiranim.

IBM MQ in JMeter: Prvi stik

Uvod

O projektu: podatkovna avtocesta, številna xml-sporočila, tri področja izmenjave (vrste, baze podatkov, datotečni sistem), spletne storitve s svojo logiko obdelave sporočil. S povečanjem obsega projekta je postalo ročno testiranje vse težje. Na pomoč je prispel Apache JMeter — zmogljiv in odprtokoden, z veliko skupnostjo uporabnikov in prijaznim vmesnikom. Enostavna prilagoditev različice "iz škatle" omogoča pokritje vseh primerov, obljuba vodilnega razvijalca, da bo pomagal če bo treba (v resnici je pomagal) me je dokončno prepričala o izbiri.

Priprava začetnega konteksta

Za interakcijo z upravljavcem vrst potrebujemo začetni kontekst. Ta je lahko več tipov, tukaj tukaj lahko preberete podrobneje.
Za njegovo ustvarjanje je priročno uporabiti MQ Explorer:

IBM MQ in JMeter: Prvi stik
Slika 1: Dodajanje začetnega konteksta

Izberite vrsto konteksta in mapo za shranjevanje .bindings datoteke, ki bo vsebovala opis JNDI-objektov:

IBM MQ in JMeter: Prvi stik
Slika 2: Izbira vrste začetnega konteksta

Nato se lahko lotimo ustvarjanja teh objektov. Začnemo s tovarno povezav:

IBM MQ in JMeter: Prvi stik
Slika 3: Ustvarjanje tovarne povezav

Izberite razumljivo ime...

IBM MQ in JMeter: Prvi stik
Slika 4: Izbira imena tovarne povezav

… in tip Queue Connection Factory:

IBM MQ in JMeter: Prvi stik
Slika 5: Izbira vrste tovarne povezav

Protokol — MQ Client za možnost interakcije z MQ na daljavo:

IBM MQ in JMeter: Prvi stik
Slika 6: Izbira protokola tovarne povezav

V naslednjem koraku lahko izberete že obstoječo tovarno in nadaljnje nastavitve prenesete iz nje. Pritisnite Next, če take ni:

IBM MQ in JMeter: Prvi stik
Slika 7: Izbira nastavitev obstoječe tovarne povezav

V oknu za izbiro parametrov je dovolj, da določite tri. Na zavihku Povezava navajate ime upravljavca vrst in IP naprave, kjer je (port 1414 pustite):

IBM MQ in JMeter: Prvi stik
Slika 8: Nastavitev parametrov tovarne povezav

In na zavihku Channels — kanal za povezavo. Pritisnite Dokončaj za zaključek:

IBM MQ in JMeter: Prvi stik
Slika 9: Zaključek ustvarjanja tovarne povezav

Zdaj bomo ustvarili povezavo z vrsto:

IBM MQ in JMeter: Prvi stik
Slika 10: Kreiranje ciljnog objekta

Izaberećemo razumljivo ime (preferiram navesti stvarno ime reda) i tip Queue:

IBM MQ in JMeter: Prvi stik
Slika 11: Izbor imena i tipa ciljnog objekta

Na sličan način kao kod Slike 7 možete kopirati postavke iz postojećeg reda. Takođe pritisnite Next, ako je prvi:

IBM MQ in JMeter: Prvi stik
Slika 12: Izbor postavki postojećeg ciljnog objekta

U prozoru postavki dovoljno je izabrati ime menadžera i odgovarajući red, zatim pritisnuti Dokončaj. Nakon toga ponoviti neophodan broj puta dok svi redovi potrebni za interakciju sa JMeter-om ne budu kreirani:

IBM MQ in JMeter: Prvi stik
Slika 13: Završi stvaranje ciljnog objekta

Priprema JMeter-a

Priprema JMeter-a podrazumeva dodavanje biblioteka neophodnih za interakciju sa MQ. One se nalaze u %wmq_home%/java/lib. Kopirajte ih u %jmeter_home%/lib/ext pre pokretanja JMeter-a.

  • 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

Alternativna lista koju predlaže polarnik u komentarji sa malim nijansom: javax.jms-api-2.0.jar umesto jms.jar.
Sa jms.jar se javlja greška NoClassDEfFoundError, rešenje koje je pronašao tukaj.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • providerutil.jar

Obe liste biblioteka uspešno rade sa JMeter 5.0 i IBM MQ 8.0.0.4.

Podešavanje test plana

Neophodan i dovoljan set elemenata JMeter-a izgleda ovako:

IBM MQ in JMeter: Prvi stik
Slika 14: Test plan

U primeru test plana postoje pet varijabli. Iako je njih malo, preporučujem da se kreiraju posebni konfiguracijski elementi za različite tipove varijabli. Kako testovi rastu, to će značajno olakšati navigaciju. U ovom slučaju imamo dve liste. Prva sadrži parametre veze sa MQ (vidi Slika 2 in Slika 4):

IBM MQ in JMeter: Prvi stik
Slika 15: Parametri veze sa MQ

Druga — imena ciljanih objekata koja se odnose na redove:

IBM MQ in JMeter: Prvi stik
Slika 16: Parametrizovana imena redova

Preostaje da se konfiguriše JMS Publisher za učitavanje testne poruke u odlazni red:

IBM MQ in JMeter: Prvi stik
Slika 17: Podešavanje JMS Publisher-a

I JMS Subscriber za čitanje poruke iz dolaznog reda:

IBM MQ in JMeter: Prvi stik
Slika 18: Podešavanje JMS Subscriber-a

Ako je sve urađeno ispravno, rezultat izvršenja u listneru biće ispunjen živopisnim i vesele zelenim bojama.

Zaključek

Namerno sam preskočio pitanja usmeravanja i administracije, to su prilično intimne i obimne teme za posebne publikacije.

Poleg tega obstaja kar nekaj podrobnosti pri delu z čakalnimi vrstami, bazami in datotekami, o katerih bi se želelo podrobneje in obširno pogovoriti.

Čuvajte svoje vrijeme. Hvala na pažnji.

IBM MQ in JMeter: Prvi stik

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster