Hei Habr!
Dette er en prequel til min
Denne gangen vil jeg fortelle deg om min erfaring med å forene JMeter og IBM MQ for glad testing av applikasjoner på IBM WAS. Jeg sto overfor en slik oppgave, det var ikke lett. Jeg vil bidra til å spare tid for alle interesserte.
Innledning
Om prosjektet: databuss, mange xml-meldinger, tre utvekslingsområder (køer, database, filsystem), webtjenester med egen meldingsbehandlingslogikk. Etter hvert som prosjektet skred frem, ble manuell testing stadig vanskeligere. Apache JMeter ble kalt til unnsetning – kraftig og åpen kildekode, med et stort brukerfellesskap og et vennlig grensesnitt. Den enkle tilpasningen av ut-av-boksen-versjonen lar deg dekke alle tilfeller, og hovedutviklerens løfte om å hjelpe for sikkerhets skyld (det hjalp) bekreftet endelig valget mitt.
Forberede den innledende konteksten
For å samhandle med køadministratoren trenger du en innledende kontekst. Det er flere typer her
For å lage den er det praktisk å bruke MQ Explorer:
Figur 1: Legge til en innledende kontekst
Velg kontekstfiltypen og lagringskatalogen .bindinger fil som vil inneholde en beskrivelse av JNDI-objekter:
Figur 2: Velge den innledende konteksttypen
Deretter kan du begynne å lage disse objektene. Og start med tilkoblingsfabrikken:
Figur 3: Opprette en tilkoblingsfabrikk
Velg et vennlig navn...
Figur 4: Velge et tilkoblingsfabrikknavn
... og skriv Køtilkoblingsfabrikk:
Figur 5: Velge tilkoblingsfabrikktype
Protokoll - MQ klient for å kunne kommunisere med MQ eksternt:
Figur 6: Valg av tilkoblingsfabrikkprotokoll
I neste trinn kan du velge en eksisterende fabrikk og kopiere ytterligere innstillinger fra den. Klikk neste, hvis det ikke er noen:
Figur 7: Velge innstillinger for en eksisterende tilkoblingsfabrikk
I parametervalgvinduet er det nok å spesifisere tre. På fanen Tilkobling angi navnet på køadministratoren og IP-stativet med plasseringen (port 1414 permisjon):
Figur 8: Konfigurering av fabrikkinnstillinger for tilkobling
Og på fanen kanaler — kanal for tilkobling. Klikk Finish å fullføre:
Figur 9: Fullfører opprettelsen av tilkoblingsfabrikken
La oss nå opprette en tilkobling til køen:
Figur 10: Opprette et målobjekt
La oss velge et vennlig navn (jeg foretrekker å angi det virkelige navnet på køen) og skriv Kø:
Figur 11: Velge målnavn og type
I analogi med Figur 7 Du kan kopiere innstillinger fra en eksisterende kø. Klikk også neste, hvis det er den første:
Figur 12: Velge innstillinger for et eksisterende mål
I innstillingsvinduet velger du bare navnet på lederen og ønsket kø, klikker Finish. Gjenta deretter det nødvendige antallet ganger til alle køene som trengs for å samhandle med JMeter er opprettet:
Figur 13: Fullføre måloppretting
Forbereder JMeter
Forberedelse av JMeter består av å legge til bibliotekene som trengs for å samhandle med MQ. De er plassert i %wmq_home%/java/lib. Kopier dem til %jmeter_home%/lib/ext før du starter 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
Alternativ liste foreslått
En feil NoClassDEfFoundError oppstår med jms.jar, løsningen jeg fant
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Begge listene over biblioteker fungerer vellykket med JMeter 5.0 og IBM MQ 8.0.0.4.
Sette opp en testplan
Det nødvendige og tilstrekkelige settet med JMeter-elementer ser slik ut:
Figur 14: Testplan
Det er fem variabler i eksempeltestplanen. Til tross for det lille antallet anbefaler jeg å lage separate konfigurasjonselementer for forskjellige typer variabler. Etter hvert som testene vokser, vil dette gjøre navigeringen mye enklere. I dette tilfellet får vi to lister. Den første inneholder parametere for tilkobling til MQ (se. Figur 2 и Figur 4):
Figur 15: MQ-tilkoblingsalternativer
Det andre er navnene på målobjektene som refererer til køene:
Figur 16: Parameteriserte kønavn
Alt som gjenstår er å konfigurere JMS Publisher til å laste testmeldingen inn i den utgående køen:
Figur 17: Sette opp JMS Publisher
Og JMS-abonnent for å lese en melding fra den innkommende køen:
Figur 18: Konfigurere JMS-abonnent
Hvis alt er gjort riktig, vil resultatet av utførelse i listener bli fylt med lyse og muntre grønne farger.
Konklusjon
Jeg har bevisst utelatt spørsmålene om ruting og administrasjon; dette er ganske intime og omfattende emner for separate publikasjoner.
I tillegg er det en betydelig del av nyanser i arbeidet med køer, databaser og filer, som jeg også gjerne vil snakke om separat og detaljert.
Spar tid. Og takk for oppmerksomheten.
Kilde: www.habr.com