IBM MQ kaj JMeter: Unua Kontakto

Hej Habr!

Ĉi tio estas antaŭkvel al mia antaŭa publikigo kaj samtempe refilmigo de la artikolo Aŭtomatigita testado de servoj uzante la MQ-protokolon uzante JMeter.

Ĉi-foje mi rakontos al vi pri mia sperto pri akordigo de JMeter kaj IBM MQ por feliĉa testado de aplikaĵoj sur IBM WAS. Mi estis alfrontita kun tia tasko, ĝi ne estis facila. Mi volas helpi ŝpari tempon por ĉiuj interesatoj.

IBM MQ kaj JMeter: Unua Kontakto

Enkonduko

Pri la projekto: datumbuso, multaj xml-mesaĝoj, tri interŝanĝaj areoj (vostoj, datumbazo, dosiersistemo), retservoj kun propra mesaĝo-prilabora logiko. Ĉar la projekto progresis, manlibrotestado iĝis ĉiam pli malfacila. Apache JMeter estis vokita al la savo - potenca kaj malferma fonto, kun granda komunumo de uzantoj kaj amika interfaco. La facileco de personigo de la eltrovebla versio permesas vin kovri ajnajn kazojn, kaj la promeson de la ĉefa programisto helpi ĉiaokaze (ĝi ja helpis) finfine konfirmis mian elekton.

Preparante la komencan kuntekston

Por interagi kun la vicadministranto, vi bezonas komencan kuntekston. Estas pluraj tipoj, ĉi tie tie vi povas legi pli.
Por krei ĝin, estas oportune uzi MQ Explorer:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 1: Aldono de komenca kunteksto

Elektu la kuntekstan dosierspecon kaj stokan dosierujon .ligadoj dosiero kiu enhavos priskribon de JNDI-objektoj:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 2: Elektante la komencan kuntekstan tipon

Tiam vi povas komenci krei ĉi tiujn objektojn. Kaj komencu kun la konektfabriko:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 3: Kreante konektfabrikon

Elektu amikan nomon...

IBM MQ kaj JMeter: Unua Kontakto
Figuro 4: Elektante nomon de konektofabriko

... kaj tajpu Queue Connect Factory:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 5: Elektante la tipon de fabriko de konekto

Protokolo - MQ-Kliento por povi interagi kun MQ malproksime:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 6: Elekto de Protokolo de Fabriko de Konekto

En la sekva paŝo, vi povas elekti ekzistantan fabrikon kaj kopii pliajn agordojn de ĝi. Klaku sekva, se estas neniu:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 7: Elektante agordojn por ekzistanta koneksa fabriko

En la fenestro de elekto de parametroj, sufiĉas specifi tri. Sur la langeto konekto indiku la nomon de la vicadministranto kaj la IP-standon kun ĝia loko (haveno 1414 foriru):

IBM MQ kaj JMeter: Unua Kontakto
Figuro 8: Agordo de Konektfabrikaj Parametroj

Kaj sur la langeto Kanaloj — kanalo por konekto. Klaku finpoluro kompletigi:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 9: Kompletigante konektfabrikan kreadon

Nun ni kreu konekton al la vosto:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 10: Krei Celon-Objekton

Ni elektu amikan nomon (mi preferas indiki la veran nomon de la vico) kaj tajpu Vosto:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 11: Elektante celnomon kaj tipon

Per analogio kun Figuro 7 Vi povas kopii agordojn de ekzistanta vosto. Ankaŭ klaku sekva, se ĝi estas la unua:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 12: Elektante Agordojn por Ekzistanta Celo

En la agorda fenestro, simple elektu la nomon de la administranto kaj la deziratan vicon, alklaku finpoluro. Poste ripetu la postulatan nombron da fojoj ĝis ĉiuj vicoj necesaj por interagi kun JMeter estas kreitaj:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 13: Kompletigante celkreadon

Preparante JMeter

Prepari JMeter konsistas el aldoni la bibliotekojn necesajn por interagi kun MQ. Ili troviĝas en %wmq_home%/java/lib. Kopiu ilin al %jmeter_home%/lib/ext antaŭ ol komenci JMeter.

  • 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

Alternativa listo proponita polarnik в komentoj kun malgranda nuanco: javax.jms-api-2.0.jar anstataŭ jms.jar.
Eraro NoClassDEfFoundError okazas kun jms.jar, la solvo al kiu mi trovis tie.

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

Ambaŭ listoj de bibliotekoj funkcias sukcese kun JMeter 5.0 kaj IBM MQ 8.0.0.4.

Establi testan planon

La necesa kaj sufiĉa aro de JMeter-elementoj aspektas jene:

IBM MQ kaj JMeter: Unua Kontakto
Bildo 14: Testplano

Estas kvin variabloj en la ekzempla testa plano. Malgraŭ ilia malgranda nombro, mi rekomendas krei apartajn agordajn elementojn por malsamaj specoj de variabloj. Dum testoj kreskas, ĉi tio multe pli facilas la navigadon. En ĉi tiu kazo, ni ricevas du listojn. La unua enhavas parametrojn por konekti al MQ (vidu. XNUMF-figuro и XNUMF-figuro):

IBM MQ kaj JMeter: Unua Kontakto
Figuro 15: MQ-Konekto-Ebloj

La dua estas la nomoj de la celobjektoj kiuj rilatas al la atendovicoj:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 16: Parametriigitaj vostonomoj

Restas nur agordi JMS Publisher por ŝargi la testan mesaĝon en la elirantan atendovicon:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 17: Agordo de JMS Publisher

Kaj JMS-Abonanto por legi mesaĝon el la envenanta atendovico:

IBM MQ kaj JMeter: Unua Kontakto
Figuro 18: Agordo de JMS-abonanto

Se ĉio estas farita ĝuste, la rezulto de ekzekuto en la aŭskultanto pleniĝos per helaj kaj gajaj verdaj koloroj.

konkludo

Mi intence preterlasis la temojn pri vojigo kaj administrado; ĉi tiuj estas sufiĉe intimaj kaj ampleksaj temoj por apartaj publikaĵoj.

Krome, estas grava parto de nuancoj en laboro kun vostoj, datumbazoj kaj dosieroj, pri kiuj mi ankaŭ ŝatus paroli aparte kaj detale.

Ŝparu vian tempon. Kaj dankon pro via atento.

IBM MQ kaj JMeter: Unua Kontakto

fonto: www.habr.com