Hej Habra!
To prequel mojego
Tym razem opowiem Wam o moich doświadczeniach w godzeniu JMeter i IBM MQ w celu przyjemnego testowania aplikacji na IBM WAS. Stanąłem przed takim zadaniem, nie było to łatwe. Chcę pomóc zaoszczędzić czas wszystkim zainteresowanym.
Wprowadzenie
O projekcie: magistrala danych, wiele wiadomości xml, trzy obszary wymiany (kolejki, baza danych, system plików), usługi sieciowe z własną logiką przetwarzania wiadomości. W miarę postępu projektu testowanie ręczne stawało się coraz trudniejsze. Na ratunek wezwano Apache JMeter - potężny i open source, z dużą społecznością użytkowników i przyjaznym interfejsem. Łatwość dostosowywania gotowej wersji pozwala na pokrycie wszelkich przypadków, a główny programista zapewnia pomoc w razie czego (to pomogło) w końcu potwierdziłem mój wybór.
Przygotowanie kontekstu początkowego
Do interakcji z menedżerem kolejek potrzebny jest kontekst początkowy. Tutaj jest kilka typów
Aby go utworzyć, wygodnie jest użyć MQ Explorer:
Rysunek 1: Dodawanie kontekstu początkowego
Wybierz typ pliku kontekstowego i katalog przechowywania .wiązania plik, który będzie zawierał opis obiektów JNDI:
Rysunek 2: Wybór typu kontekstu początkowego
Następnie możesz rozpocząć tworzenie tych obiektów. I zacznij od fabryki połączeń:
Rysunek 3: Tworzenie fabryki połączeń
Wybierz przyjazną nazwę...
Rysunek 4: Wybór nazwy fabryki połączeń
... i wpisz Fabryka Połączeń Kolejkowych:
Rysunek 5: Wybór typu fabryki połączeń
Protokół - Klient MQ aby móc zdalnie komunikować się z MQ:
Rysunek 6: Wybór protokołu fabryki połączeń
W kolejnym kroku możesz wybrać istniejącą fabrykę i skopiować z niej dalsze ustawienia. Kliknij Następna, jeśli nie ma:
Rysunek 7: Wybór ustawień istniejącej fabryki połączeń
W oknie wyboru parametrów wystarczy podać trzy. Na karcie Statystyki z konta wskazać nazwę menedżera kolejek i stanowisko IP z jego lokalizacją (port 1414 Zostawić):
Rysunek 8: Konfigurowanie parametrów fabryki połączeń
I na karcie Kanały — kanał do podłączenia. Kliknij koniec ukończyć:
Rysunek 9: Zakończenie tworzenia fabryki połączeń
Utwórzmy teraz połączenie z kolejką:
Rysunek 10: Tworzenie obiektu docelowego
Wybierzmy przyjazną nazwę (wolę podać prawdziwą nazwę kolejki) i wpiszmy kolejka:
Rysunek 11: Wybieranie nazwy i typu celu
Przez analogię z Rysunek 7 Możesz skopiować ustawienia z istniejącej kolejki. Kliknij także Następna, jeśli jest to pierwsze:
Rysunek 12: Wybieranie ustawień istniejącego celu
W oknie ustawień wystarczy wybrać nazwę menedżera i żądaną kolejkę, kliknąć koniec. Następnie powtórz wymaganą liczbę razy, aż zostaną utworzone wszystkie kolejki potrzebne do interakcji z JMeter:
Rysunek 13: Zakończenie tworzenia celu
Przygotowanie JMetera
Przygotowanie JMeter polega na dodaniu bibliotek potrzebnych do interakcji z MQ. Znajdują się one w %wmq_home%/Java/lib. Skopiuj je do %jmeter_home%/lib/ext przed uruchomieniem 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
- dostawcautil.jar
Sugerowana lista alternatywna
W pliku jms.jar pojawia się błąd NoClassDEfFoundError, rozwiązanie, które znalazłem
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- dostawcautil.jar
Obie listy bibliotek działają pomyślnie z JMeter 5.0 i IBM MQ 8.0.0.4.
Utworzenie planu testów
Niezbędny i wystarczający zestaw elementów JMeter wygląda następująco:
Rysunek 14: Plan testów
W przykładowym planie testów znajduje się pięć zmiennych. Pomimo ich niewielkiej liczby, zalecam utworzenie osobnych elementów konfiguracyjnych dla różnych typów zmiennych. W miarę zwiększania się liczby testów nawigacja będzie znacznie łatwiejsza. W tym przypadku otrzymujemy dwie listy. Pierwsza zawiera parametry połączenia z MQ (patrz. Rysunek 2 и Rysunek 4):
Rysunek 15: Opcje połączenia MQ
Drugi to nazwy obiektów docelowych, które odnoszą się do kolejek:
Rysunek 16: Sparametryzowane nazwy kolejek
Pozostaje tylko skonfigurować JMS Publisher tak, aby ładował wiadomość testową do kolejki wychodzącej:
Rysunek 17: Konfigurowanie wydawcy JMS
Oraz Abonent JMS do odczytania wiadomości z kolejki przychodzącej:
Rysunek 18: Konfiguracja subskrybenta JMS
Jeśli wszystko zostanie wykonane poprawnie, wynik wykonania w listnerze zostanie wypełniony jasnymi i wesołymi zielonymi kolorami.
wniosek
Celowo pominąłem zagadnienia trasowania i administracji, są to raczej intymne i obszerne tematy na osobne publikacje.
Ponadto istnieje znaczna część niuansów w pracy z kolejkami, bazami danych i plikami, o których również chciałbym porozmawiać osobno i szczegółowo.
Oszczędź swój czas. I dziękuję za uwagę.
Źródło: www.habr.com