IBM MQ ja JMeter: esimene kontakt

Tere Habr!

See on minu eellugu eelmine väljaanne ja samal ajal artikli uusversioon Teenuste automatiseeritud testimine MQ-protokolli kasutades JMeteri abil.

Seekord räägin teile oma kogemusest JMeteri ja IBM MQ ühildamisel, et edukalt testida rakendusi IBM WAS-is. Olin sellise ülesande ees, see polnud kerge. Soovin aidata säästa kõigi huviliste aega.

IBM MQ ja JMeter: esimene kontakt

Sissejuhatus

Projektist: andmesiin, palju xml sõnumeid, kolm vahetusala (järjekorrad, andmebaas, failisüsteem), oma sõnumitöötlusloogikaga veebiteenused. Projekti edenedes muutus käsitsi testimine üha keerulisemaks. Appi kutsuti Apache JMeter – võimas ja avatud lähtekoodiga, suure kasutajate kogukonna ja sõbraliku liidesega. Karbist väljas oleva versiooni kohandamise lihtsus võimaldab teil katta kõik juhtumid ja juhtiva arendaja lubaduse aidata igaks juhuks (see aitas) lõpuks kinnitas mu valikut.

Esialgse konteksti ettevalmistamine

Järjekorrahalduriga suhtlemiseks vajate esialgset konteksti. Siin on mitut tüüpi siin saate rohkem lugeda.
Selle loomiseks on mugav kasutada MQ Explorerit:

IBM MQ ja JMeter: esimene kontakt
Joonis 1: Algkonteksti lisamine

Valige kontekstifaili tüüp ja salvestuskataloog .köited fail, mis sisaldab JNDI objektide kirjeldust:

IBM MQ ja JMeter: esimene kontakt
Joonis 2: Algse kontekstitüübi valimine

Seejärel saate hakata neid objekte looma. Ja alustage ühenduse tehasest:

IBM MQ ja JMeter: esimene kontakt
Joonis 3: Ühenduse tehase loomine

Valige sõbralik nimi...

IBM MQ ja JMeter: esimene kontakt
Joonis 4: Ühenduse tehase nime valimine

... ja tüüp Järjekorraühenduse tehas:

IBM MQ ja JMeter: esimene kontakt
Joonis 5: Ühenduse tehase tüübi valimine

Protokoll - MQ klient et saaksite MQ-ga eemalt suhelda:

IBM MQ ja JMeter: esimene kontakt
Joonis 6: Ühenduse tehase protokolli valik

Järgmises etapis saate valida olemasoleva tehase ja kopeerida sealt edasised sätted. Klõpsake järgmine, kui seda pole:

IBM MQ ja JMeter: esimene kontakt
Joonis 7: Olemasoleva ühenduse tehase sätete valimine

Parameetrite valimise aknas piisab kolme määramisest. Vahekaardil Ühendus märkige järjekorrahalduri nimi ja IP-alus koos selle asukohaga (port 1414 lahkuda):

IBM MQ ja JMeter: esimene kontakt
Joonis 8: Ühenduse tehase parameetrite konfigureerimine

Ja vahekaardil Kanalid — kanal ühenduse loomiseks. Klõpsake lõpp lõpetama:

IBM MQ ja JMeter: esimene kontakt
Joonis 9: Ühenduse tehase loomise lõpetamine

Nüüd loome järjekorraga ühenduse:

IBM MQ ja JMeter: esimene kontakt
Joonis 10: Sihtobjekti loomine

Valime sõbraliku nime (ma eelistan näidata järjekorra tegelikku nime) ja kirjutame Järjekord:

IBM MQ ja JMeter: esimene kontakt
Joonis 11: Sihtmärgi nime ja tüübi valimine

Analoogiliselt koos Joonis 7 Saate sätteid kopeerida olemasolevast järjekorrast. Samuti klõpsake järgmine, kui see on esimene:

IBM MQ ja JMeter: esimene kontakt
Joonis 12: Olemasoleva sihtmärgi sätete valimine

Valige seadete aknas lihtsalt halduri nimi ja soovitud järjekord, klõpsake nuppu lõpp. Seejärel korrake vajalik arv kordi, kuni kõik JMeteriga suhtlemiseks vajalikud järjekorrad on loodud:

IBM MQ ja JMeter: esimene kontakt
Joonis 13: Sihtmärgi loomise lõpetamine

JMeteri ettevalmistamine

JMeteri ettevalmistamine hõlmab MQ-ga suhtlemiseks vajalike teekide lisamist. Need asuvad asukohas %wmq_home%/java/lib. Enne JMeteri käivitamist kopeerige need asukohta %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
  • pakkujautil.jar

Soovitatav alternatiivne loend polarnik в kommentaarid väikese nüansiga: jms.jar asemel javax.jms-api-2.0.jar.
Viga NoClassDEfFoundError ilmneb rakenduses jms.jar, mille lahenduse leidsin siin.

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

Mõlemad teekide loendid töötavad edukalt JMeter 5.0 ja IBM MQ 8.0.0.4-ga.

Testiplaani koostamine

Vajalik ja piisav JMeteri elementide komplekt näeb välja selline:

IBM MQ ja JMeter: esimene kontakt
Joonis 14: Katseplaan

Näidiskatseplaanis on viis muutujat. Vaatamata nende väikesele arvule soovitan luua erinevat tüüpi muutujate jaoks eraldi konfiguratsioonielemendid. Testide kasvades muudab see navigeerimise palju lihtsamaks. Sel juhul saame kaks loendit. Esimene sisaldab parameetreid MQ-ga ühendamiseks (vt. Joonis 2 и Joonis 4):

IBM MQ ja JMeter: esimene kontakt
Joonis 15: MQ ühenduse valikud

Teine on sihtobjektide nimed, mis viitavad järjekordadele:

IBM MQ ja JMeter: esimene kontakt
Joonis 16: Parameetrilised järjekorranimed

Jääb üle vaid konfigureerida JMS Publisher laadima testsõnum väljuvasse järjekorda:

IBM MQ ja JMeter: esimene kontakt
Joonis 17: JMS Publisheri seadistamine

Ja JMS-i abonent sissetulevast järjekorrast sõnumi lugemiseks:

IBM MQ ja JMeter: esimene kontakt
Joonis 18: JMS-i abonendi konfigureerimine

Kui kõik on õigesti tehtud, täidetakse täitmise tulemus listneris erksate ja rõõmsate roheliste värvidega.

Järeldus

Marsruutimise ja administreerimise küsimused jätsin teadlikult välja, need on üsna intiimsed ja ulatuslikud teemad eraldi väljaannete jaoks.

Lisaks on järjekordade, andmebaaside ja failidega töötamisel märkimisväärne osa nüansse, millest tahaksin ka eraldi ja üksikasjalikult rääkida.

Säästa oma aega. Ja tänan tähelepanu eest.

IBM MQ ja JMeter: esimene kontakt

Allikas: www.habr.com