IBM MQ ve JMeter: İlk temas

Ey Habr!

Bu benimkinin bir ön bölümü önceki yayın ve aynı zamanda makalenin yeniden yapımı JMeter kullanarak MQ protokolünü kullanarak hizmetlerin otomatik olarak test edilmesi.

Bu sefer size uygulamaların IBM WAS üzerinde mutlu bir şekilde test edilmesi için JMeter ile IBM MQ'yu uzlaştırma deneyimimi anlatacağım. Böyle bir görevle karşı karşıyaydım, kolay olmadı. İlgilenen herkesin zamandan tasarruf etmesine yardımcı olmak istiyorum.

IBM MQ ve JMeter: İlk temas

Giriş

Proje hakkında: veri yolu, birçok xml mesajı, üç değişim alanı (kuyruklar, veritabanı, dosya sistemi), kendi mesaj işleme mantığına sahip web servisleri. Proje ilerledikçe manuel test giderek zorlaştı. Güçlü ve açık kaynak, geniş bir kullanıcı topluluğu ve kullanıcı dostu bir arayüze sahip olan Apache JMeter kurtarmaya çağrıldı. Kullanıma hazır sürümün özelleştirilmesinin kolaylığı, her türlü durumu karşılamanıza olanak tanır ve baş geliştiricinin yardım etme vaadi eğer öyleyse (yardımcı oldu) sonunda seçimimi onayladım.

İlk bağlamın hazırlanması

Kuyruk yöneticisiyle etkileşim kurmak için bir başlangıç ​​bağlamına ihtiyacınız vardır. Burada birkaç tür var burada devamını okuyabilirsiniz.
Bunu oluşturmak için MQ Explorer'ı kullanmak uygundur:

IBM MQ ve JMeter: İlk temas
Şekil 1: Başlangıç ​​bağlamını ekleme

Bağlam dosyası türünü ve depolama dizinini seçin .bağlamalar JNDI nesnelerinin açıklamasını içerecek dosya:

IBM MQ ve JMeter: İlk temas
Şekil 2: Başlangıç ​​bağlam türünün seçilmesi

Daha sonra bu nesneleri oluşturmaya başlayabilirsiniz. Ve bağlantı fabrikasıyla başlayın:

IBM MQ ve JMeter: İlk temas
Şekil 3: Bağlantı fabrikası oluşturma

Dostça bir isim seçin...

IBM MQ ve JMeter: İlk temas
Şekil 4: Bağlantı fabrikası adının seçilmesi

... ve yazın Kuyruk Bağlantı Fabrikası:

IBM MQ ve JMeter: İlk temas
Şekil 5: Bağlantı fabrikası tipinin seçilmesi

Protokol - MQ İstemcisi MQ ile uzaktan etkileşim kurabilmek için:

IBM MQ ve JMeter: İlk temas
Şekil 6: Bağlantı Fabrikası Protokol Seçimi

Bir sonraki adımda mevcut bir fabrikayı seçip diğer ayarları ondan kopyalayabilirsiniz. Tıklamak Sonraki, eğer yoksa:

IBM MQ ve JMeter: İlk temas
Şekil 7: Mevcut bir bağlantı fabrikası için ayarların seçilmesi

Parametre seçim penceresinde üç adet belirtmeniz yeterlidir. Sekmede Bağlantısı kuyruk yöneticisinin ve IP standının adını konumuyla birlikte belirtin (bağlantı noktası 1414 ayrılmak):

IBM MQ ve JMeter: İlk temas
Şekil 8: Bağlantı Fabrikası Parametrelerini Yapılandırma

Ve sekmede Kanallar — bağlantı için kanal. Tıklamak Bitiş Tamamlamak:

IBM MQ ve JMeter: İlk temas
Şekil 9: Bağlantı fabrikası oluşturma işleminin tamamlanması

Şimdi sıraya bir bağlantı oluşturalım:

IBM MQ ve JMeter: İlk temas
Şekil 10: Hedef Nesne Oluşturma

Kolay bir isim seçelim (kuyruğun gerçek ismini belirtmeyi tercih ediyorum) ve yazalım Kuyruk:

IBM MQ ve JMeter: İlk temas
Şekil 11: Hedef adının ve türünün seçilmesi

Benzer Şekil 7 Ayarları mevcut bir kuyruktan kopyalayabilirsiniz. Ayrıca tıklayın Sonraki, eğer ilk ise:

IBM MQ ve JMeter: İlk temas
Şekil 12: Mevcut Bir Hedef İçin Ayarların Seçilmesi

Ayarlar penceresinde yöneticinin adını ve istediğiniz kuyruğu seçmeniz yeterlidir, Bitiş. Ardından, JMeter ile etkileşim için gereken tüm kuyruklar oluşturulana kadar gerekli sayıda tekrarlayın:

IBM MQ ve JMeter: İlk temas
Şekil 13: Hedef oluşturmanın tamamlanması

JMeter'ı Hazırlamak

JMeter'ı hazırlamak, MQ ile etkileşim kurmak için gereken kitaplıkların eklenmesini içerir. %wmq_home%/Java/lib'de bulunurlar. JMeter'ı başlatmadan önce bunları %jmeter_home%/lib/ext dizinine kopyalayın.

  • 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
  • sağlayıcıutil.jar

Alternatif liste önerildi polarnik в comments küçük bir nüansla: jms.jar yerine javax.jms-api-2.0.jar.
Bulduğum çözüm olan jms.jar'da NoClassDEfFoundError hatası oluşuyor burada.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • sağlayıcıutil.jar

Her iki kitaplık listesi de JMeter 5.0 ve IBM MQ 8.0.0.4 ile başarılı bir şekilde çalışır.

Bir test planı oluşturma

Gerekli ve yeterli JMeter öğeleri kümesi şuna benzer:

IBM MQ ve JMeter: İlk temas
Şekil 14: Test planı

Örnek test planında beş değişken vardır. Sayıları az olmasına rağmen, farklı değişken türleri için ayrı yapılandırma öğeleri oluşturmanızı öneririm. Testler büyüdükçe bu, gezinmeyi çok daha kolay hale getirecek. Bu durumda iki liste elde ederiz. İlki MQ'ya bağlanmak için parametreleri içerir (bkz. Şekil 2 и Şekil 4):

IBM MQ ve JMeter: İlk temas
Şekil 15: MQ Bağlantı Seçenekleri

İkincisi ise kuyruklara atıfta bulunan hedef nesnelerin adlarıdır:

IBM MQ ve JMeter: İlk temas
Şekil 16: Parametrelendirilmiş kuyruk adları

Geriye kalan tek şey JMS Publisher'ı test mesajını giden kuyruğa yükleyecek şekilde yapılandırmak:

IBM MQ ve JMeter: İlk temas
Şekil 17: JMS Publisher'ın Kurulumu

Ve JMS Abonesi gelen kuyruktan bir mesaj okuyacak:

IBM MQ ve JMeter: İlk temas
Şekil 18: JMS Abonesini Yapılandırma

Her şey doğru yapılırsa listeleyicideki uygulama sonucu parlak ve neşeli yeşil renklerle doldurulacaktır.

Sonuç

Yönlendirme ve yönetim konularını kasıtlı olarak atladım; bunlar ayrı yayınlar için oldukça samimi ve kapsamlı konulardır.

Ayrıca kuyruklarla, veritabanlarıyla ve dosyalarla çalışma konusunda önemli bir nüanslar var ki bunlardan ayrı ayrı ve detaylı olarak bahsetmek istiyorum.

Zamandan tasarruf edin. İlginiz için teşekkürler.

IBM MQ ve JMeter: İlk temas

Kaynak: habr.com