Еј Хабр!
Ова е приквел на мојот
Овој пат ќе ви кажам за моето искуство за усогласување на JMeter и IBM MQ за среќно тестирање на апликациите на IBM WAS. Бев соочен со таква задача, не беше лесно. Сакам да помогнам да заштедите време за сите заинтересирани.
Вовед
За проектот: податочна магистрала, многу xml пораки, три области за размена (редици, база на податоци, датотечен систем), веб сервиси со сопствена логика за обработка на пораки. Како што напредуваше проектот, рачното тестирање стана сè потешко. Apache JMeter беше повикан на спасување - моќен и со отворен код, со голема заедница на корисници и пријателски интерфејс. Леснотијата на приспособување на верзијата надвор од кутијата ви овозможува да ги покриете сите случаи и ветувањето на водечкиот програмер дека ќе помогне за секој случај (тоа помогна) конечно го потврди мојот избор.
Подготовка на почетниот контекст
За да комуницирате со менаџерот на редици, потребен ви е почетен контекст. Постојат неколку видови, овде
За да го создадете, погодно е да се користи MQ Explorer:
Слика 1: Додавање почетен контекст
Изберете го типот на контекстната датотека и директориумот за складирање .врзувачки датотека која ќе содржи опис на објектите на JNDI:
Слика 2: Избор на почетниот тип на контекст
Потоа можете да започнете со создавање на овие објекти. И започнете со фабриката за поврзување:
Слика 3: Создавање фабрика за поврзување
Изберете пријателско име...
Слика 4: Избор на име на фабрика за поврзување
... и тип Фабрика за поврзување во редици:
Слика 5: Избор на фабрички тип на поврзување
Протокол - MQ клиент за да може да комуницирате со MQ од далечина:
Слика 6: Избор на фабрички протокол за поврзување
Во следниот чекор, можете да изберете постоечка фабрика и да копирате понатамошни поставки од неа. Кликнете Следна, ако нема:
Слика 7: Избор на поставки за постоечка фабрика за поврзување
Во прозорецот за избор на параметри, доволно е да наведете три. На јазичето врска означете го името на менаџерот на редици и IP-штандот со неговата локација (порта 1414 остави):
Слика 8: Конфигурирање на фабрички параметри за поврзување
И на јазичето Канали — канал за поврзување. Кликнете Заврши да се заврши:
Слика 9: Завршување на создавање фабрика за поврзување
Сега ајде да создадеме врска со редот:
Слика 10: Креирање на целен објект
Ајде да избереме пријателско име (претпочитам да го наведам вистинското име на редот) и напишете редот:
Слика 11: Избор на име и тип на цел
По аналогија со Слика 7 Можете да ги копирате поставките од постоечка редица. Исто така кликнете Следна, ако е првиот:
Слика 12: Избор на поставки за постоечка цел
Во прозорецот за поставки, само изберете го името на менаџерот и саканиот ред, кликнете Заврши. Потоа повторете го потребниот број пати додека не се создадат сите редици потребни за интеракција со 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
- обезбедирутил.тегла
Предложена алтернативна листа
Се појавува грешка 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 изгледа вака:
Слика 14: План за тестирање
Постојат пет променливи во примерниот план за тестирање. И покрај нивниот мал број, препорачувам да креирате посебни конфигурациски елементи за различни типови на променливи. Како што растат тестовите, ова ќе ја олесни навигацијата многу. Во овој случај, добиваме две списоци. Првиот содржи параметри за поврзување со MQ (види. Слика 2 и Слика 4):
Слика 15: Опции за поврзување MQ
Вториот е имињата на целните објекти кои се однесуваат на редиците:
Слика 16: Параметризирани имиња на редици
Останува само да го конфигурирате JMS Publisher да ја вчита тест пораката во појдовната редица:
Слика 17: Поставување на JMS Publisher
И JMS претплатникот да прочита порака од дојдовната редица:
Слика 18: Конфигурирање на претплатник JMS
Ако сè е направено правилно, резултатот од извршувањето во слушателот ќе биде исполнет со светли и весели зелени бои.
Заклучок
Намерно ги испуштив прашањата за рутирање и администрација; тоа се прилично интимни и опширни теми за одделни публикации.
Покрај тоа, има значителен дел од нијанси во работата со редици, бази на податоци и датотеки, за кои исто така би сакал да зборувам одделно и детално.
Заштедете време. И благодарам за вниманието.
Извор: www.habr.com