IBM MQ et JMeter : Premier contact

Salut, Habr !

C'est un préquel de ma publication précédente et en même temps un remake de l'article Tests automatisés de services utilisant le protocole MQ avec JMeter.

Cette fois, je vais parler de mon expérience d'intégration de JMeter et d'IBM MQ pour des tests réussis d'applications sur IBM WAS. J'ai été confronté à cette tâche, et elle ne s'est pas avérée facile. Je veux aider à faire gagner du temps à tous ceux qui s'y intéressent.

IBM MQ et JMeter : Premier contact

Introduction

À propos du projet : un bus de données, de nombreux messages XML, trois domaines d'échange (queues, base de données, système de fichiers), des services web avec leur propre logique de traitement des messages. Au fur et à mesure que le projet se développait, le test manuel devenait de plus en plus compliqué. Apache JMeter a été convoqué à la rescousse — puissant et open source, avec une grande communauté d'utilisateurs et une interface conviviale. La facilité de personnalisation de la version « prête à l'emploi » permet de couvrir tous les cas d'utilisation, et la promesse du développeur principal d'aider si besoin (et il a effectivement aidé) a définitivement validé mon choix.

Préparation du contexte initial

Pour interagir avec le gestionnaire de files d'attente, un contexte initial est nécessaire. Il existe plusieurs types, voici ici vous pouvez lire plus en détail.
Pour le créer, il est pratique d'utiliser MQ Explorer :

IBM MQ et JMeter : Premier contact
Figure 1 : Ajout du contexte initial

Sélectionner le type de fichier de contexte et le répertoire de stockage .bindings fichier qui contiendra la description des objets JNDI :

IBM MQ et JMeter : Premier contact
Figure 2 : Choix du type de contexte initial

Après cela, vous pouvez commencer à créer ces objets. Et commencer par la fabrique de connexions :

IBM MQ et JMeter : Premier contact
Figure 3 : Création de la fabrique de connexions

Choisissez un nom explicite…

IBM MQ et JMeter : Premier contact
Figure 4 : Choix du nom de la fabrique de connexions

… et le type Usine de connexions de file:

IBM MQ et JMeter : Premier contact
Figure 5 : Choix du type de fabrique de connexions

Protocole — MQ Client pour permettre l'interaction avec MQ à distance :

IBM MQ et JMeter : Premier contact
Figure 6 : Choix du protocole de la fabrique de connexions

À l'étape suivante, vous pouvez choisir une fabrique existante et copier les paramètres supplémentaires à partir de celle-ci. Cliquez sur Suivant, s'il n'y en a pas :

IBM MQ et JMeter : Premier contact
Figure 7 : Choix des paramètres de la fabrique de connexions existante

Dans la fenêtre de sélection des paramètres, il suffit de définir trois éléments. Dans l'onglet Connexion indiquez le nom du gestionnaire de files d'attente et l'IP du stand où il se trouve (la port 1414 laissez vide) :

IBM MQ et JMeter : Premier contact
Figure 8 : Configuration des paramètres de la fabrique de connexions

Et dans l'onglet Canaux — le canal pour la connexion. Cliquez sur Terminer pour terminer :

IBM MQ et JMeter : Premier contact
Figure 9 : Achèvement de la création de la fabrique de connexions

Créons maintenant une connexion à la file :

IBM MQ et JMeter : Premier contact
Figure 10: Création d'un objet cible

Choisissons un nom clair (je préfère indiquer le nom réel de la file d'attente) et un type Queue:

IBM MQ et JMeter : Premier contact
Figure 11: Choix du nom et du type de l'objet cible

À l'image de la Figure 7 on peut copier les paramètres d'une file d'attente existante. Cliquez également sur Suivant, si c'est la première :

IBM MQ et JMeter : Premier contact
Figure 12: Choix des paramètres existants de l'objet cible

Dans la fenêtre des paramètres, il suffit de choisir le nom du gestionnaire et la file d'attente souhaitée, puis de cliquer sur Terminer. Après cela, répétez le processus autant de fois que nécessaire jusqu'à ce que toutes les files d'attente requises pour l'interaction avec JMeter soient créées :

IBM MQ et JMeter : Premier contact
Figure 13: Finalisation de la création de l'objet cible

Préparation de JMeter

La préparation de JMeter consiste à ajouter les bibliothèques nécessaires pour interagir avec MQ. Elles se trouvent dans %wmq_home%/java/lib. Copiez-les dans %jmeter_home%/lib/ext avant de lancer 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

Liste alternative suggérée par polarnik dans les commentaires avec un léger détail : javax.jms-api-2.0.jar à la place de jms.jar.
Jms.jar provoque une erreur NoClassDefFoundError, dont la solution a été trouvée ici.

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

Les deux listes de bibliothèques fonctionnent avec succès avec JMeter 5.0 et IBM MQ 8.0.0.4.

Configuration du plan de test

L'ensemble nécessaire et suffisant d'éléments JMeter est le suivant :

IBM MQ et JMeter : Premier contact
Figure 14: Plan de test

Dans cet exemple de plan de test, il y a cinq variables. Malgré leur nombre réduit, je recommande de créer des éléments de configuration distincts pour différents types de variables. Au fur et à mesure que les tests se développent, cela simplifiera considérablement la navigation. Dans ce cas, il y a deux listes. La première contient les paramètres de connexion à MQ (voir Figure 2 et Figure 4):

IBM MQ et JMeter : Premier contact
Figure 15: Paramètres de connexion à MQ

La seconde — les noms des objets cibles faisant référence aux files d'attente :

IBM MQ et JMeter : Premier contact
Figure 16: Noms de file d'attente paramétrés

Il reste à configurer le JMS Publisher pour charger le message de test dans la file sortante :

IBM MQ et JMeter : Premier contact
Figure 17: Configuration du JMS Publisher

Et le JMS Subscriber pour lire le message de la file entrante :

IBM MQ et JMeter : Premier contact
Figure 18: Configuration du JMS Subscriber

Si tout est fait correctement, le résultat de l'exécution dans le listener sera rempli de couleurs vertes vives et joyeuses.

Conclusion

J'ai intentionnellement omis les questions de routage et d'administration, ce sont des sujets assez intimes et vastes pour des publications séparées.

De plus, il existe une solide variété de nuances lors de la gestion des files d'attente, des bases de données et des fichiers, dont j'aimerais également parler séparément et en détail.

Préservez votre temps. Merci de votre attention.

IBM MQ et JMeter : Premier contact

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster