IBM MQ ir JMeter: pirmasis kontaktas

Sveiki, Habr!

Tai mano prakartėlė ankstesnis leidinys o kartu ir straipsnio perdarymas Automatizuotas paslaugų testavimas naudojant MQ protokolą naudojant JMeter.

Šį kartą papasakosiu apie savo patirtį derinant JMeter ir IBM MQ, kad būtų sėkmingai išbandytos programos IBM WAS. Susidūriau su tokia užduotimi, ji nebuvo lengva. Noriu padėti sutaupyti laiko visiems besidomintiems.

IBM MQ ir JMeter: pirmasis kontaktas

įvedimas

Apie projektą: duomenų magistralė, daug xml žinučių, trys mainų sritys (eilės, duomenų bazė, failų sistema), žiniatinklio paslaugos su savo žinučių apdorojimo logika. Vykstant projektui rankinis testavimas tapo vis sunkesnis. Į pagalbą buvo iškviestas Apache JMeter – galingas ir atviro kodo, turintis didelę vartotojų bendruomenę ir draugišką sąsają. Lengvas jau paruoštos versijos pritaikymas leidžia aprėpti bet kokius atvejus, o pagrindinio kūrėjo pažadas padėti dėl viso pikto (tai padėjo) pagaliau patvirtino mano pasirinkimą.

Pradinio konteksto paruošimas

Norint bendrauti su eilių tvarkytuvu, reikalingas pradinis kontekstas. Čia yra keletas tipų čia galite paskaityti daugiau.
Norėdami jį sukurti, patogu naudoti MQ Explorer:

IBM MQ ir JMeter: pirmasis kontaktas
1 pav. Pradinio konteksto pridėjimas

Pasirinkite kontekstinio failo tipą ir saugojimo katalogą .apkaustai failą, kuriame bus JNDI objektų aprašymas:

IBM MQ ir JMeter: pirmasis kontaktas
2 pav. Pradinio konteksto tipo pasirinkimas

Tada galite pradėti kurti šiuos objektus. Ir pradėkite nuo ryšio gamyklos:

IBM MQ ir JMeter: pirmasis kontaktas
3 pav. Ryšio gamyklos kūrimas

Pasirinkite draugišką vardą...

IBM MQ ir JMeter: pirmasis kontaktas
4 pav. Ryšio gamyklos pavadinimo pasirinkimas

... ir tipas Eilių ryšio gamykla:

IBM MQ ir JMeter: pirmasis kontaktas
5 pav. Ryšio gamyklos tipo pasirinkimas

Protokolas - MQ klientas kad galėtumėte nuotoliniu būdu bendrauti su MQ:

IBM MQ ir JMeter: pirmasis kontaktas
6 pav. Ryšio gamyklos protokolo pasirinkimas

Kitame veiksme galite pasirinkti esamą gamyklą ir iš jos nukopijuoti kitus nustatymus. Spustelėkite Sekantis, jei jo nėra:

IBM MQ ir JMeter: pirmasis kontaktas
7 pav. Esamos ryšio gamyklos nustatymų pasirinkimas

Parametrų pasirinkimo lange pakanka nurodyti tris. Skirtuke Ryšys nurodykite eilės tvarkyklės pavadinimą ir IP stendą su jo vieta (prievadu 1414 išeiti):

IBM MQ ir JMeter: pirmasis kontaktas
8 pav. Ryšio gamyklinių parametrų konfigūravimas

Ir ant skirtuko Kanalai - ryšio kanalas. Spustelėkite apdaila pabaigti:

IBM MQ ir JMeter: pirmasis kontaktas
9 pav. Ryšio gamyklos kūrimo užbaigimas

Dabar sukurkime ryšį su eile:

IBM MQ ir JMeter: pirmasis kontaktas
10 pav. Tikslinio objekto kūrimas

Išsirinkime draugišką pavadinimą (labiau norėčiau nurodyti tikrąjį eilės pavadinimą) ir įveskime eilė:

IBM MQ ir JMeter: pirmasis kontaktas
11 pav. Tikslo pavadinimo ir tipo pasirinkimas

Pagal analogiją su 7 pav Galite nukopijuoti nustatymus iš esamos eilės. Taip pat spustelėkite Sekantis, jei tai pirmas:

IBM MQ ir JMeter: pirmasis kontaktas
12 pav. Esamo taikinio nustatymų pasirinkimas

Nustatymų lange tiesiog pasirinkite valdytojo pavadinimą ir norimą eilę, spustelėkite apdaila. Tada pakartokite reikiamą skaičių kartų, kol bus sukurtos visos eilės, reikalingos sąveikai su JMeter:

IBM MQ ir JMeter: pirmasis kontaktas
13 pav. Tikslo kūrimo užbaigimas

JMeter paruošimas

JMeter paruošimas apima bibliotekų, reikalingų sąveikai su MQ, pridėjimą. Jie yra %wmq_home%/java/lib. Prieš paleisdami JMeter, nukopijuokite juos į %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
  • providerutil.jar

Siūlomas alternatyvus sąrašas polarnik в komentarai su nedideliu niuansu: javax.jms-api-2.0.jar vietoj jms.jar.
Klaida NoClassDEfFoundError įvyksta su jms.jar, kurio sprendimą radau čia.

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

Abu bibliotekų sąrašai sėkmingai veikia su JMeter 5.0 ir IBM MQ 8.0.0.4.

Bandymo plano sudarymas

Būtinas ir pakankamas JMeter elementų rinkinys atrodo taip:

IBM MQ ir JMeter: pirmasis kontaktas
14 pav. Bandymo planas

Bandymo plano pavyzdyje yra penki kintamieji. Nepaisant nedidelio jų skaičiaus, rekomenduoju sukurti atskirus konfigūracijos elementus skirtingų tipų kintamiesiems. Vykstant bandymams, tai labai palengvins navigaciją. Šiuo atveju gauname du sąrašus. Pirmajame yra prisijungimo prie MQ parametrai (žr. Pav 2 и Pav 4):

IBM MQ ir JMeter: pirmasis kontaktas
15 pav.: MQ ryšio parinktys

Antrasis yra tikslinių objektų, nurodančių eiles, pavadinimai:

IBM MQ ir JMeter: pirmasis kontaktas
16 pav. Parametrų eilių pavadinimai

Belieka sukonfigūruoti JMS Publisher, kad įkeltų bandomąjį pranešimą į išeinančią eilę:

IBM MQ ir JMeter: pirmasis kontaktas
17 pav.: JMS Publisher nustatymas

Ir JMS abonentas, kad perskaitytų pranešimą iš gaunamos eilės:

IBM MQ ir JMeter: pirmasis kontaktas
18 pav.: JMS abonento konfigūravimas

Jei viskas bus padaryta teisingai, vykdymo rezultatas listneryje bus užpildytas ryškiomis ir linksmomis žaliomis spalvomis.

išvada

Sąmoningai praleidau maršruto parinkimo ir administravimo klausimus, tai gana intymios ir plačios temos atskiriems leidiniams.

Be to, yra nemaža dalis niuansų dirbant su eilėmis, duomenų bazėmis ir failais, apie kuriuos taip pat norėčiau pakalbėti atskirai ir išsamiai.

Taupykite savo laiką. Ir ačiū už dėmesį.

IBM MQ ir JMeter: pirmasis kontaktas

Šaltinis: www.habr.com