Tere Habr!
See on minu eellugu
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.
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
Selle loomiseks on mugav kasutada MQ Explorerit:
Joonis 1: Algkonteksti lisamine
Valige kontekstifaili tüüp ja salvestuskataloog .köited fail, mis sisaldab JNDI objektide kirjeldust:
Joonis 2: Algse kontekstitüübi valimine
Seejärel saate hakata neid objekte looma. Ja alustage ühenduse tehasest:
Joonis 3: Ühenduse tehase loomine
Valige sõbralik nimi...
Joonis 4: Ühenduse tehase nime valimine
... ja tüüp Järjekorraühenduse tehas:
Joonis 5: Ühenduse tehase tüübi valimine
Protokoll - MQ klient et saaksite MQ-ga eemalt suhelda:
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:
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):
Joonis 8: Ühenduse tehase parameetrite konfigureerimine
Ja vahekaardil Kanalid — kanal ühenduse loomiseks. Klõpsake lõpp lõpetama:
Joonis 9: Ühenduse tehase loomise lõpetamine
Nüüd loome järjekorraga ühenduse:
Joonis 10: Sihtobjekti loomine
Valime sõbraliku nime (ma eelistan näidata järjekorra tegelikku nime) ja kirjutame Järjekord:
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:
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:
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
Viga NoClassDEfFoundError ilmneb rakenduses jms.jar, mille lahenduse leidsin
- 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:
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):
Joonis 15: MQ ühenduse valikud
Teine on sihtobjektide nimed, mis viitavad järjekordadele:
Joonis 16: Parameetrilised järjekorranimed
Jääb üle vaid konfigureerida JMS Publisher laadima testsõnum väljuvasse järjekorda:
Joonis 17: JMS Publisheri seadistamine
Ja JMS-i abonent sissetulevast järjekorrast sõnumi lugemiseks:
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.
Allikas: www.habr.com