IBM MQ ja JMeter: Esimene kontakt

Tere, Habr!

See on minu eelmine postitus ja samal ajal artikli uusversioon Automatiseeritud testimine teenustes, mis kasutavad MQ protokolli JMeteriga.

Seekord räägin oma kogemusest JMeteri ja IBM MQ ühendamisel, et võimaldada õnnelikku rakenduste testimist IBM WAS-is. Kohtasin sellist ülesannet, see ei olnud kerge. Soovin aidata kõikidel huvilistel aega säästa.

IBM MQ ja JMeter: Esimene kontakt

Sissejuhatus

Projektist: andmebus, hulk xml-sõnumeid, kolm vahetuse ala (järjekorrad, andmebaasid, failisüsteem), veebiteenused oma sõnumitöötluslogikaga. Projekti arenedes muutus testimine käsitsi üha keerulisemaks. Appi tuli Apache JMeter — võimas ja avatud lähtekoodiga tööriist, millega on suur kasutajate kogukond ja sõbralik liides. Kohandamise hõlpsus "karbist välja" võimaldab katta kõiki juhtumeid, ja pea-arendaja lubadus aidata kui on vaja (ja aitas) kinnitas valikut.

Algse konteksti loomine

Järjekorraga suhtlemiseks on vajalik algne kontekst. See võib olla mitut tüüpi, siin siit saab lugeda lähemalt.
Selle loomiseks on mugav kasutada MQ Explorerit:

IBM MQ ja JMeter: Esimene kontakt
Joonis 1: Algse konteksti lisamine

Valige konteksti failitüüp ja direktorium, kuhu salvestada .bindings fail, mis sisaldab JNDI-objektide kirjelduse:

IBM MQ ja JMeter: Esimene kontakt
Joonis 2: Algse konteksti tüübi valimine

Pärast seda saab alustada nende objektide loomist, alustades ühenduse tehase loomisega:

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

Valige arusaadav nimi…

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

… ja tüüp Queue Connection Factory:

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

Protokoll — MQ Client vastava MQ-ga kaugside võimaldamiseks:

IBM MQ ja JMeter: Esimene kontakt
Joonis 6: Ühenduse tehase protokolli valimine

Järgmises sammule saab valida juba olemasoleva tehase ja kopeerida edasised seaded sellelt. Vajuta Next, kui sellist ei ole:

IBM MQ ja JMeter: Esimene kontakt
Joonis 7: Olemasoleva ühenduse tehase seadete valimine

Parameetrite valimise aknas piisab kolme määramisest. Vahekaardil Ühendus tuleb märkida järjekorrahaldur ja IP, kus see asub (port 1414 jätta):

IBM MQ ja JMeter: Esimene kontakt
Joonis 8: Ühenduse tehase parameetrite seadistamine

Ja vahekaardil Channels — ühenduse kanal. Vajutage Lõpeta lõpetamiseks:

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

Nüüd loome ühenduse järjekorraga:

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

Valime arusaadava nime (eelistan kasutada reaalseid järjekorra nimesid) ja tüübi Oote:

IBM MQ ja JMeter: Esimene kontakt
Joonis 11: Nime ja sihtobjekti tüübi valimine

Sarnaselt Joonisele 7 võime kopeerida seadistused olemasolevast järjekorrast. Samuti vajutame Next, kui see on esimene:

IBM MQ ja JMeter: Esimene kontakt
Joonis 12: Olemasoleva sihtobjekti seadete valimine

Seadete aknas piisab, kui valida haldurinimi ja vajalik järjekord ning vajutada Lõpeta. Pärast seda korrata vajalik arv kordi, kuni kõik järjekorrad, mis on vajalikud JMeteriga suhtlemiseks, on loodud:

IBM MQ ja JMeter: Esimene kontakt
Joonis 13: Sihtobjekti loomise lõpetamine

JMeteri ettevalmistamine

JMeteri ettevalmistamine seisneb raamatukogude lisamises, mis on vajalik MQ-ga suhtlemiseks. Need asuvad %wmq_home%/java/lib. Kopeerige need %jmeter_home%/lib/ext kausta enne JMeteri käivitamist.

  • 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

Alternatiivne nimekiri, mille pakkus polarnik ja kommentaarid väikese nüansiga: javax.jms-api-2.0.jar jms.jari asemel.
jms.jari puhul tekib NoClassDefFoundError viga, mille lahenduse leidsin siit.

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

Mõlemad raamatukogude nimekirjad toimivad edukalt JMeter 5.0 ja IBM MQ 8.0.0.4-ga.

Testiplani seadistamine

Vajalik ja piisav seadelementide komplekt JMeteris näeb välja järgmiselt:

IBM MQ ja JMeter: Esimene kontakt
Joonis 14: Testiplan

Testiplani näites on viis muutujaid. Kuigi neid on vähe, soovitan luua erinevatele muutuja tüüpidele eraldi konfiguratsioonielemente. Testide suurenedes lihtsustab see oluliselt navigeerimist. Antud juhul tekib kaks nimekirja. Esimene sisaldab MQ ühendusparameetreid (vt. Joonis 2 ja Joonis 4):

IBM MQ ja JMeter: Esimene kontakt
Joonis 15: Ühendusparameetrid MQ-ga

Teine - sihtobjektide nimed, mis viitavad järjekordadele:

IBM MQ ja JMeter: Esimene kontakt
Joonis 16: Parameetrilised järjekordade nimed

Kohandage JMS Publisherit, et laadida testisõnum väljaminevasse järjekorda:

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

Ja JMS Subscriberit, et lugeda sõnumit sisse tulevast järjekorrast:

IBM MQ ja JMeter: Esimene kontakt
Joonis 18: JMS Subscriberi seadistamine

Kui kõik on õigesti tehtud, täitub tulemuste vaatja erksate ja elavate roheliste värvidega.

Kokkuvõte

Jätsin kõrvale marsruutimis- ja haldamisküsimused, need on üsna intiimsed ja ulatuslikud teemad eraldi publikatsioonideks.

Lisaks on olemas palju nüansse järjekordade, andmebaaside ja failidega töötamisel, millest sooviksin samuti eraldi ja põhjalikult rääkida.

Hoidke oma aega. Tänan tähelepanu eest.

IBM MQ ja JMeter: Esimene kontakt

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster