يا هبر!
هذه مقدمة لي
سأخبرك هذه المرة عن تجربتي في التوفيق بين JMeter وIBM MQ لإجراء اختبار سعيد للتطبيقات على IBM WAS. لقد واجهت مثل هذه المهمة، لم تكن سهلة. أريد المساعدة في توفير الوقت لجميع المهتمين.
مقدمة
حول المشروع: ناقل بيانات، والعديد من رسائل XML، وثلاث مناطق تبادل (قوائم الانتظار، وقاعدة البيانات، ونظام الملفات)، وخدمات الويب مع منطق معالجة الرسائل الخاص بها. ومع تقدم المشروع، أصبح الاختبار اليدوي أكثر صعوبة. تم استدعاء Apache JMeter للإنقاذ - فهو قوي ومفتوح المصدر، مع مجتمع كبير من المستخدمين وواجهة سهلة الاستخدام. تتيح لك سهولة تخصيص الإصدار الجاهز تغطية أي حالات، كما وعد المطور الرئيسي بالمساعدة فقط في حالة (لقد ساعد) أخيرًا أكد خياري.
إعداد السياق الأولي
للتفاعل مع مدير قائمة الانتظار، تحتاج إلى سياق أولي. هناك عدة أنواع، هنا
لإنشائه، من المناسب استخدام MQ Explorer:
الشكل 1: إضافة سياق أولي
حدد نوع ملف السياق ودليل التخزين .الربطات الملف الذي سيحتوي على وصف لكائنات JNDI:
الشكل 2: تحديد نوع السياق الأولي
ثم يمكنك البدء في إنشاء هذه الكائنات. وابدأ بمصنع الاتصال:
الشكل 3: إنشاء مصنع اتصال
اختر اسمًا مألوفًا...
الشكل 4: تحديد اسم مصنع الاتصال
... واكتب مصنع اتصال قائمة الانتظار:
الشكل 5: تحديد نوع مصنع الاتصال
بروتوكول - عميل MQ لتتمكن من التفاعل مع MQ عن بعد:
الشكل 6: اختيار بروتوكول مصنع الاتصال
في الخطوة التالية، يمكنك تحديد مصنع موجود ونسخ المزيد من الإعدادات منه. انقر التالى، إذا لم يكن هناك شيء:
الشكل 7: تحديد الإعدادات لمصنع اتصال موجود
في نافذة اختيار المعلمة، يكفي تحديد ثلاثة. على علامة التبويب الاتصال قم بالإشارة إلى اسم مدير قائمة الانتظار وحامل IP مع موقعه (port 1414 يترك):
الشكل 8: تكوين معلمات مصنع الاتصال
وعلى علامة التبويب القنوات - قناة للاتصال. انقر نهاية لإكمال:
الشكل 9: إكمال إنشاء مصنع الاتصال
الآن لنقم بإنشاء اتصال بقائمة الانتظار:
الشكل 10: إنشاء كائن مستهدف
دعنا نختار اسمًا مألوفًا (أفضل الإشارة إلى الاسم الحقيقي لقائمة الانتظار) ونكتب طابور:
الشكل 11: تحديد اسم الهدف ونوعه
عن طريق القياس مع الشكل 7 يمكنك نسخ الإعدادات من قائمة انتظار موجودة. انقر أيضا التالى، إذا كان الأول:
الشكل 12: تحديد الإعدادات لهدف موجود
في نافذة الإعدادات، ما عليك سوى تحديد اسم المدير وقائمة الانتظار المطلوبة، ثم انقر فوق نهاية. ثم كرر العدد المطلوب من المرات حتى يتم إنشاء كافة قوائم الانتظار اللازمة للتفاعل مع JMeter:
الشكل 13: استكمال إنشاء الهدف
تحضير جي ميتر
يتضمن إعداد 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.jar
- fscontext.jar
- jms.jar
- jta.jar
- Providerutil.jar
القائمة البديلة المقترحة
يحدث خطأ NoClassDEfFoundError مع jms.jar، وهو الحل الذي وجدته
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- Providerutil.jar
تعمل قائمتا المكتبات بنجاح مع JMeter 5.0 وIBM MQ 8.0.0.4.
وضع خطة الاختبار
تبدو المجموعة الضرورية والكافية من عناصر JMeter كما يلي:
الشكل 14: خطة الاختبار
هناك خمسة متغيرات في خطة الاختبار النموذجية. على الرغم من عددها الصغير، أوصي بإنشاء عناصر تكوين منفصلة لأنواع مختلفة من المتغيرات. ومع نمو الاختبارات، فإن هذا سيجعل التنقل أسهل بكثير. في هذه الحالة، نحصل على قائمتين. يحتوي الأول على معلمات للاتصال بـ MQ (انظر. الرقم 2 и الرقم 4):
الشكل 15: خيارات اتصال MQ
والثاني هو أسماء الكائنات المستهدفة التي تشير إلى قوائم الانتظار:
الشكل 16: أسماء قوائم الانتظار ذات المعلمات
كل ما تبقى هو تكوين JMS Publisher لتحميل رسالة الاختبار في قائمة الانتظار الصادرة:
الشكل 17: إعداد ناشر JMS
ومشترك JMS لقراءة رسالة من قائمة الانتظار الواردة:
الشكل 18: تكوين مشترك JMS
إذا تم كل شيء بشكل صحيح، فسيتم ملء نتيجة التنفيذ في المستمع بألوان خضراء مشرقة ومبهجة.
اختتام
لقد حذفت عمدًا قضايا التوجيه والإدارة، فهي موضوعات حميمة وواسعة النطاق لمنشورات منفصلة.
بالإضافة إلى ذلك، هناك جزء كبير من الفروق الدقيقة في العمل مع قوائم الانتظار وقواعد البيانات والملفات، والتي أود أيضًا التحدث عنها بشكل منفصل وبالتفصيل.
وفر وقتك. وشكرا لاهتمامكم.
المصدر: www.habr.com