IBM MQ dan JMeter: Kenalan pertama

Hai Habr!

Ini adalah prekuel kepada saya penerbitan sebelumnya dan pada masa yang sama pembuatan semula artikel itu Ujian automatik perkhidmatan menggunakan protokol MQ menggunakan JMeter.

Kali ini saya akan memberitahu anda tentang pengalaman saya menyelaraskan JMeter dan IBM MQ untuk ujian gembira aplikasi pada IBM WAS. Saya berdepan dengan tugas sebegitu, bukan mudah. Saya ingin membantu menjimatkan masa untuk semua yang berminat.

IBM MQ dan JMeter: Kenalan pertama

Pengenalan

Mengenai projek: bas data, banyak mesej xml, tiga kawasan pertukaran (baris gilir, pangkalan data, sistem fail), perkhidmatan web dengan logik pemprosesan mesej mereka sendiri. Apabila projek itu berjalan, ujian manual menjadi semakin sukar. Apache JMeter dipanggil untuk menyelamatkan - sumber yang berkuasa dan terbuka, dengan komuniti pengguna yang besar dan antara muka yang mesra. Kemudahan penyesuaian versi luar kotak membolehkan anda menampung sebarang kes, dan janji pembangun utama untuk membantu untuk berjaga-jaga (ia memang membantu) akhirnya mengesahkan pilihan saya.

Menyediakan konteks awal

Untuk berinteraksi dengan pengurus baris gilir, anda memerlukan konteks awal. Terdapat beberapa jenis, di sini di sini anda boleh membaca lebih lanjut.
Untuk menciptanya, anda boleh menggunakan MQ Explorer:

IBM MQ dan JMeter: Kenalan pertama
Rajah 1: Menambah konteks awal

Pilih jenis fail konteks dan direktori storan .bindings fail yang akan mengandungi perihalan objek JNDI:

IBM MQ dan JMeter: Kenalan pertama
Rajah 2: Memilih jenis konteks awal

Kemudian anda boleh mula mencipta objek ini. Dan mulakan dengan kilang sambungan:

IBM MQ dan JMeter: Kenalan pertama
Rajah 3: Mencipta kilang sambungan

Pilih nama yang mesra...

IBM MQ dan JMeter: Kenalan pertama
Rajah 4: Memilih nama kilang sambungan

... dan taip Kilang Sambungan Beratur:

IBM MQ dan JMeter: Kenalan pertama
Rajah 5: Memilih jenis kilang sambungan

Protokol - Klien MQ untuk dapat berinteraksi dengan MQ dari jauh:

IBM MQ dan JMeter: Kenalan pertama
Rajah 6: Pemilihan Protokol Kilang Sambungan

Dalam langkah seterusnya, anda boleh memilih kilang sedia ada dan menyalin tetapan lanjut daripadanya. klik Seterusnya, jika tiada:

IBM MQ dan JMeter: Kenalan pertama
Rajah 7: Memilih tetapan untuk kilang sambungan sedia ada

Dalam tetingkap pemilihan parameter, sudah cukup untuk menentukan tiga. Pada tab Hubungan nyatakan nama pengurus baris gilir dan pendirian IP dengan lokasinya (port 1414 cuti):

IBM MQ dan JMeter: Kenalan pertama
Rajah 8: Mengkonfigurasi Parameter Kilang Sambungan

Dan pada tab Saluran β€” saluran untuk sambungan. klik Selesai untuk melengkapkan:

IBM MQ dan JMeter: Kenalan pertama
Rajah 9: Melengkapkan pembuatan kilang sambungan

Sekarang mari kita buat sambungan ke baris gilir:

IBM MQ dan JMeter: Kenalan pertama
Rajah 10: Mencipta Objek Sasaran

Mari pilih nama yang mesra (saya lebih suka menunjukkan nama sebenar baris gilir) dan taip Queue:

IBM MQ dan JMeter: Kenalan pertama
Rajah 11: Memilih nama dan jenis sasaran

Dengan analogi dengan Rajah 7 Anda boleh menyalin tetapan daripada baris gilir sedia ada. Juga klik Seterusnya, jika ia adalah yang pertama:

IBM MQ dan JMeter: Kenalan pertama
Rajah 12: Memilih Tetapan untuk Sasaran Sedia Ada

Dalam tetingkap tetapan, pilih sahaja nama pengurus dan baris gilir yang dikehendaki, klik Selesai. Kemudian ulangi bilangan kali yang diperlukan sehingga semua baris gilir yang diperlukan untuk berinteraksi dengan JMeter telah dibuat:

IBM MQ dan JMeter: Kenalan pertama
Rajah 13: Menyelesaikan penciptaan sasaran

Menyediakan JMeter

Menyediakan JMeter melibatkan penambahan perpustakaan yang diperlukan untuk berinteraksi dengan MQ. Mereka terletak di %wmq_home%/java/lib. Salinnya ke %jmeter_home%/lib/ext sebelum memulakan 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
  • providerutil.jar

Senarai alternatif dicadangkan polarnik Π² komen dengan nuansa kecil: javax.jms-api-2.0.jar dan bukannya jms.jar.
Ralat NoClassDEfFoundError berlaku dengan jms.jar, penyelesaian yang saya temui di sini.

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

Kedua-dua senarai perpustakaan berfungsi dengan jayanya dengan JMeter 5.0 dan IBM MQ 8.0.0.4.

Menyediakan rancangan ujian

Set elemen JMeter yang diperlukan dan mencukupi kelihatan seperti ini:

IBM MQ dan JMeter: Kenalan pertama
Rajah 14: Pelan ujian

Terdapat lima pembolehubah dalam contoh rancangan ujian. Walaupun bilangannya kecil, saya syorkan mencipta elemen konfigurasi berasingan untuk pelbagai jenis pembolehubah. Apabila ujian berkembang, ini akan menjadikan navigasi lebih mudah. Dalam kes ini, kami mendapat dua senarai. Yang pertama mengandungi parameter untuk menyambung ke MQ (lihat. Rajah 2 ΠΈ Rajah 4):

IBM MQ dan JMeter: Kenalan pertama
Rajah 15: Pilihan Sambungan MQ

Yang kedua ialah nama objek sasaran yang merujuk kepada baris gilir:

IBM MQ dan JMeter: Kenalan pertama
Rajah 16: Nama baris berparameter

Yang tinggal hanyalah mengkonfigurasi Penerbit JMS untuk memuatkan mesej ujian ke dalam baris gilir keluar:

IBM MQ dan JMeter: Kenalan pertama
Rajah 17: Menyediakan Penerbit JMS

Dan Pelanggan JMS untuk membaca mesej daripada baris gilir masuk:

IBM MQ dan JMeter: Kenalan pertama
Rajah 18: Mengkonfigurasi Pelanggan JMS

Jika semuanya dilakukan dengan betul, hasil pelaksanaan dalam pendengar akan dipenuhi dengan warna hijau yang terang dan ceria.

Kesimpulan

Saya sengaja mengetepikan isu penghalaan dan pentadbiran; ini adalah topik yang agak intim dan meluas untuk penerbitan berasingan.

Di samping itu, terdapat sebahagian besar nuansa dalam bekerja dengan baris gilir, pangkalan data dan fail, yang saya juga ingin bercakap secara berasingan dan terperinci.

Jimat masa anda. Dan terima kasih atas perhatian anda.

IBM MQ dan JMeter: Kenalan pertama

Sumber: www.habr.com