IBM MQ ja JMeter: Esimene kontakt

Tere, Habr!

See on mu eelnevas postituses ja samal ajal artikli uusversioon Automatiseeritud testimine teenustes, mis kasutavad MQ protokolli JMeteri abil.

Seekord räägin oma kogemusest JMeteri ja IBM MQ ühendamisel, et võimaldada sujuvat rakenduste testimist IBM WAS-is. Tulin sellise probleemiga kokku, mis ei olnud kerge. Soovin aidata kõiki, kes on huvitatud, aega kokku hoida.

IBM MQ ja JMeter: Esimene kontakt

Sissejuhatus

Projektist: andmesüsteem, palju xml-sõnumeid, kolm vahetusalad (järjekorrad, andmebaasid, failisüsteem), veebiteenused koos oma sõnumite töötlemise loogikaga. Projekti arenedes muutus käsitsi testimine üha keerulisemaks. Abiks tuli Apache JMeter - võimas ja avatud lähtekoodiga tööriist, millel on suur kasutajaskond ja sõbralik liides. „Karbi“ lahenduse kohandamise lihtsus võimaldab katta kõik juhtumid ning peamise arendaja lubadus aidata vajadusel (aitas tõesti) kinnitas valikut.

Algse konteksti ettevalmistamine

Järjekorramanageriga suhtlemiseks on vajalik algne kontekst. See võib olla erinevat tüüpi, siin on siin saate lugeda rohkem.
Selle loomiseks on mugav kasutada MQ Explorerit:

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

Valige konteksti faili tüüp ja kaust salvestamiseks .bindings fail, mis sisaldab JNDI-objektide kirjeldust:

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

Seejärel saab alustada nende objektide loomist. Alustame ühenduste tehasega:

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

Valige arusaadav nimi…

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

… ja tüüp Queue Connection Factory:

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

Protokoll — MQ Client MQ-ga kaugjuhtimise võimaldamiseks:

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

Järgmises etapis saab valida juba olemasoleva tehase ja edasised seaded sellelt kopeerida. Klõpsake Järgmine, kui sellist ei ole:

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

Parameetrite valimise aknas on piisav määrata kolm. Vahekaardil Ühendus määrake järjekordade halduri nimi ja seista IP tema asukohaga (port 1414 jätta):

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

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

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

Loome nüüd ühendus järjekorraga:

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

Valime arusaadava nime (eelistan kasutada järjekorra tõelist nime) ja tüübi Queue:

IBM MQ ja JMeter: Esimene kontakt
Joonis 11: Sihtobjekti nime ja tüübi valimine

Nagu Joonisel 7 , on võimalik kopeerida seadeid olemasolevast järjekorrast. Samuti vajutame Järgmine, kui see on esimene:

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

Seadete aknas piisab, kui valida halduri nimi ja vajalik järjekord, vajutada Lõpeta. Pärast seda tuleb vajalikku arvu kordi korrata, kuni kõik JMeteriga suhtlemiseks vajalikud järjekorrad on loodud:

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

JMeteri ettevalmistamine

JMeteri ettevalmistamine seisneb MQ-ga suhtlemiseks vajalike teekide lisamises. Need asuvad %wmq_home%/java/lib. Kopeerige need %jmeter_home%/lib/ext 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 on esitanud polarnik ühes kommentaarid kerge nüansiga: javax.jms-api-2.0.jar jms.jar asemel.
jms.jar-i korral tekib viga NoClassDEfFoundError, mille lahenduse leidis siin.

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

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

Testiplaani seadistus

Nõutav ja piisav JMeter-i elementide kogum näeb välja selline:

IBM MQ ja JMeter: Esimene kontakt
Joonis 14: Testiplaan

Testiplaanis on viis muutujaid. Vaatamata nende vähesele arvule, soovitan luua erinevatele muutujate tüüpidele eraldi konfigureerimise elemendid. Testide suurenedes lihtsustab see oluliselt navigeerimist. Antud juhul on tegemist kahe loendiga. Esimene sisaldab MQ-ühenduse parameetreid (vt. Joonis 2 ja Joonis 4):

IBM MQ ja JMeter: Esimene kontakt
Joonis 15: MQ ühenduse parameetrid

Teine - sihtobjektide nimed, mis viitavad järjekordadele:

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

On vaja seadistada JMS Publisher, et laadida testmesssage väljasaatmise järjekorda:

IBM MQ ja JMeter: Esimene kontakt
Joonis 17: JMS Publisher seadistus

Ja JMS Subscriber sõnumi lugemiseks sisenemise järjekorrast:

IBM MQ ja JMeter: Esimene kontakt
Joonis 18: JMS Subscriber seadistus

Kui kõik on õigesti tehtud, täitub tulemuse kuulaja erksate ja rõõmsate roheliste värvidega.

Kokkuvõte

Jätsin teadlikult välja marsruutimise ja haldamise küsimused, need on üsna intiimsed ja ulatuslikud teemad eraldi väljaannete jaoks.

Lisaks on olemas suur hulk nüansse järjekordade, andmebaaside ja failidega töötamisel, millest tahaksin ka eraldi ja põhjalikult rääkida.

Hoidke oma aega. Ja aitäh tähelepanu eest.

IBM MQ ja JMeter: Esimene kontakt

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster