Hei Habr!
Ini adalah prekuel milikku
Kali ini saya akan bercerita tentang pengalaman saya merekonsiliasi JMeter dan IBM MQ untuk pengujian aplikasi yang menyenangkan di IBM WS. Saya dihadapkan pada tugas seperti itu, itu tidak mudah. Saya ingin membantu menghemat waktu bagi semua orang yang tertarik.
pengenalan
Tentang proyek: bus data, banyak pesan xml, tiga area pertukaran (antrian, database, sistem file), layanan web dengan logika pemrosesan pesannya sendiri. Seiring berjalannya proyek, pengujian manual menjadi semakin sulit. Apache JMeter dipanggil untuk menyelamatkan - kuat dan open source, dengan komunitas pengguna yang besar dan antarmuka yang ramah. Kemudahan penyesuaian versi out-of-the-box memungkinkan Anda menangani kasus apa pun, dan janji pengembang utama untuk membantu jika ada (itu membantu) akhirnya mengkonfirmasi pilihan saya.
Mempersiapkan konteks awal
Untuk berinteraksi dengan pengelola antrean, Anda memerlukan konteks awal. Ada beberapa tipe nih
Untuk membuatnya, akan lebih mudah menggunakan MQ Explorer:
Gambar 1: Menambahkan konteks awal
Pilih jenis file konteks dan direktori penyimpanan .binding file yang akan berisi deskripsi objek JNDI:
Gambar 2: Memilih tipe konteks awal
Kemudian Anda dapat mulai membuat objek-objek ini. Dan mulailah dengan koneksi pabrik:
Gambar 3: Membuat pabrik koneksi
Pilihlah nama yang ramah...
Gambar 4: Memilih nama pabrik koneksi
... dan ketik Pabrik Koneksi Antrian:
Gambar 5: Memilih tipe pabrik koneksi
Protokol - Klien MQ untuk dapat berinteraksi dengan MQ dari jarak jauh:
Gambar 6: Pemilihan Protokol Pabrik Koneksi
Pada langkah berikutnya, Anda dapat memilih pabrik yang ada dan menyalin pengaturan lebih lanjut dari pabrik tersebut. Klik Selanjutnya, jika tidak ada:
Gambar 7: Memilih pengaturan untuk pabrik koneksi yang ada
Di jendela pemilihan parameter, cukup menentukan tiga. Di tab Koneksi menunjukkan nama pengelola antrian dan stand IP beserta lokasinya (port 1414 meninggalkan):
Gambar 8: Mengonfigurasi Parameter Pabrik Koneksi
Dan di tabnya Saluran β saluran untuk koneksi. Klik Finish untuk menyelesaikan:
Gambar 9: Menyelesaikan pembuatan pabrik koneksi
Sekarang mari buat koneksi ke antrian:
Gambar 10: Membuat Objek Target
Mari kita pilih nama yang bersahabat (saya lebih suka menunjukkan nama asli antrian) dan mengetik Antre:
Gambar 11: Memilih nama dan jenis target
Dengan analogi dengan Gambar 7 Anda dapat menyalin pengaturan dari antrean yang ada. Klik juga Selanjutnya, jika ini yang pertama:
Gambar 12: Memilih Pengaturan untuk Target yang Ada
Di jendela pengaturan, cukup pilih nama pengelola dan antrian yang diinginkan, klik Finish. Kemudian ulangi beberapa kali hingga semua antrian yang diperlukan untuk berinteraksi dengan JMeter telah dibuat:
Gambar 13: Menyelesaikan pembuatan target
Mempersiapkan JMeter
Mempersiapkan JMeter melibatkan penambahan perpustakaan yang diperlukan untuk berinteraksi dengan MQ. Mereka berada di %wmq_home%/Java/lib. Salin ke %jmeter_home%/lib/ext sebelum memulai 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
- penyediautil.jar
Daftar alternatif disarankan
Kesalahan NoClassDEFFoundError terjadi dengan jms.jar, solusi yang saya temukan
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- penyediautil.jar
Kedua daftar perpustakaan berhasil bekerja dengan JMeter 5.0 dan IBM MQ 8.0.0.4.
Menyiapkan rencana pengujian
Kumpulan elemen JMeter yang diperlukan dan memadai terlihat seperti ini:
Gambar 14: Rencana pengujian
Ada lima variabel dalam contoh rencana pengujian. Meskipun jumlahnya kecil, saya sarankan membuat elemen konfigurasi terpisah untuk berbagai jenis variabel. Seiring berkembangnya pengujian, hal ini akan membuat navigasi menjadi lebih mudah. Dalam hal ini, kita mendapatkan dua daftar. Yang pertama berisi parameter untuk menghubungkan ke MQ (lihat. Gambar 2 ΠΈ Gambar 4):
Gambar 15: Opsi Koneksi MQ
Yang kedua adalah nama objek target yang mengacu pada antrian:
Gambar 16: Nama antrian yang diparameterisasi
Yang tersisa hanyalah mengonfigurasi JMS Publisher untuk memuat pesan pengujian ke dalam antrian keluar:
Gambar 17: Menyiapkan JMS Publisher
Dan Pelanggan JMS membaca pesan dari antrian masuk:
Gambar 18: Konfigurasi Pelanggan JMS
Jika semuanya dilakukan dengan benar, maka hasil eksekusi di listner akan dipenuhi warna hijau cerah dan ceria.
Kesimpulan
Saya sengaja menghilangkan masalah perutean dan administrasi; ini adalah topik yang agak intim dan luas untuk publikasi terpisah.
Selain itu, ada banyak perbedaan dalam bekerja dengan antrian, database, dan file, yang juga ingin saya bicarakan secara terpisah dan mendetail.
Hemat waktu Anda. Dan terima kasih atas perhatian Anda.
Sumber: www.habr.com