IBM MQ и JMeter: Прв контакт

Еј Хабр!

Ова е приквел на мојот претходната публикација а воедно и римејк на статијата Автоматско тестирање на услуги со помош на протоколот MQ со помош на JMeter.

Овој пат ќе ви кажам за моето искуство за усогласување на JMeter и IBM MQ за среќно тестирање на апликациите на IBM WAS. Бев соочен со таква задача, не беше лесно. Сакам да помогнам да заштедите време за сите заинтересирани.

IBM MQ и JMeter: Прв контакт

Вовед

За проектот: податочна магистрала, многу xml пораки, три области за размена (редици, база на податоци, датотечен систем), веб сервиси со сопствена логика за обработка на пораки. Како што напредуваше проектот, рачното тестирање стана сè потешко. Apache JMeter беше повикан на спасување - моќен и со отворен код, со голема заедница на корисници и пријателски интерфејс. Леснотијата на приспособување на верзијата надвор од кутијата ви овозможува да ги покриете сите случаи и ветувањето на водечкиот програмер дека ќе помогне за секој случај (тоа помогна) конечно го потврди мојот избор.

Подготовка на почетниот контекст

За да комуницирате со менаџерот на редици, потребен ви е почетен контекст. Постојат неколку видови, овде тука можете да прочитате повеќе.
За да го создадете, погодно е да се користи MQ Explorer:

IBM MQ и JMeter: Прв контакт
Слика 1: Додавање почетен контекст

Изберете го типот на контекстната датотека и директориумот за складирање .врзувачки датотека која ќе содржи опис на објектите на JNDI:

IBM MQ и JMeter: Прв контакт
Слика 2: Избор на почетниот тип на контекст

Потоа можете да започнете со создавање на овие објекти. И започнете со фабриката за поврзување:

IBM MQ и JMeter: Прв контакт
Слика 3: Создавање фабрика за поврзување

Изберете пријателско име...

IBM MQ и JMeter: Прв контакт
Слика 4: Избор на име на фабрика за поврзување

... и тип Фабрика за поврзување во редици:

IBM MQ и JMeter: Прв контакт
Слика 5: Избор на фабрички тип на поврзување

Протокол - MQ клиент за да може да комуницирате со MQ од далечина:

IBM MQ и JMeter: Прв контакт
Слика 6: Избор на фабрички протокол за поврзување

Во следниот чекор, можете да изберете постоечка фабрика и да копирате понатамошни поставки од неа. Кликнете Следна, ако нема:

IBM MQ и JMeter: Прв контакт
Слика 7: Избор на поставки за постоечка фабрика за поврзување

Во прозорецот за избор на параметри, доволно е да наведете три. На јазичето врска означете го името на менаџерот на редици и IP-штандот со неговата локација (порта 1414 остави):

IBM MQ и JMeter: Прв контакт
Слика 8: Конфигурирање на фабрички параметри за поврзување

И на јазичето Канали — канал за поврзување. Кликнете Заврши да се заврши:

IBM MQ и JMeter: Прв контакт
Слика 9: Завршување на создавање фабрика за поврзување

Сега ајде да создадеме врска со редот:

IBM MQ и JMeter: Прв контакт
Слика 10: Креирање на целен објект

Ајде да избереме пријателско име (претпочитам да го наведам вистинското име на редот) и напишете редот:

IBM MQ и JMeter: Прв контакт
Слика 11: Избор на име и тип на цел

По аналогија со Слика 7 Можете да ги копирате поставките од постоечка редица. Исто така кликнете Следна, ако е првиот:

IBM MQ и JMeter: Прв контакт
Слика 12: Избор на поставки за постоечка цел

Во прозорецот за поставки, само изберете го името на менаџерот и саканиот ред, кликнете Заврши. Потоа повторете го потребниот број пати додека не се создадат сите редици потребни за интеракција со JMeter:

IBM MQ и JMeter: Прв контакт
Слика 13: Завршување на креирањето цел

Подготовка на JMeter

Подготовката на JMeter вклучува додавање на библиотеки потребни за интеракција со MQ. Тие се наоѓаат во %wmq_home%/java/lib. Копирајте ги на %jmeter_home%/lib/ext пред да започнете со 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.тегла
  • fscontext.тегла
  • jms.тегла
  • jta.jar
  • обезбедирутил.тегла

Предложена алтернативна листа поларник в коментари со мала нијанса: javax.jms-api-2.0.jar наместо jms.jar.
Се појавува грешка NoClassDEfFoundError со jms.jar, решението за кое го најдов тука.

  • com.ibm.mq.allclient.jar
  • fscontext.тегла
  • javax.jms-api-2.0.jar
  • обезбедирутил.тегла

Двете листи на библиотеки работат успешно со JMeter 5.0 и IBM MQ 8.0.0.4.

Поставување тест план

Потребниот и доволен сет на елементи на JMeter изгледа вака:

IBM MQ и JMeter: Прв контакт
Слика 14: План за тестирање

Постојат пет променливи во примерниот план за тестирање. И покрај нивниот мал број, препорачувам да креирате посебни конфигурациски елементи за различни типови на променливи. Како што растат тестовите, ова ќе ја олесни навигацијата многу. Во овој случај, добиваме две списоци. Првиот содржи параметри за поврзување со MQ (види. Слика 2 и Слика 4):

IBM MQ и JMeter: Прв контакт
Слика 15: Опции за поврзување MQ

Вториот е имињата на целните објекти кои се однесуваат на редиците:

IBM MQ и JMeter: Прв контакт
Слика 16: Параметризирани имиња на редици

Останува само да го конфигурирате JMS Publisher да ја вчита тест пораката во појдовната редица:

IBM MQ и JMeter: Прв контакт
Слика 17: Поставување на JMS Publisher

И JMS претплатникот да прочита порака од дојдовната редица:

IBM MQ и JMeter: Прв контакт
Слика 18: Конфигурирање на претплатник JMS

Ако сè е направено правилно, резултатот од извршувањето во слушателот ќе биде исполнет со светли и весели зелени бои.

Заклучок

Намерно ги испуштив прашањата за рутирање и администрација; тоа се прилично интимни и опширни теми за одделни публикации.

Покрај тоа, има значителен дел од нијанси во работата со редици, бази на податоци и датотеки, за кои исто така би сакал да зборувам одделно и детално.

Заштедете време. И благодарам за вниманието.

IBM MQ и JMeter: Прв контакт

Извор: www.habr.com