Envoyer un email avec JMeter via son élément Requête SMTP

Ce billet est un petit « howto » pour vous montrer comment utiliser JMeter pour envoyer un email (courriel), ici en utilisant le serveur de messagerie SMTP de Google Mail.

Pour rappel, le SMTP (Simple Message Transfer Protocol) est le protocole normalisé d’échange de message électronique (email). Dans JMeter depuis la version 2.4, un nouvel échantillon appelé Requête SMTP a été ajouté pour avoir un client SMTP qui envoi donc un email.

Bien entendu, JMeter étant un outil de test de charge, avec cet échantillon, on peut faire un test de charge sur un serveur de messagerie franchement installé pour vérifier sa tenue de charge et robustesse (ce qui est mon cas), on peut aussi utiliser cet échantillon SMTP pour par exemple s’envoyer un email de rapport à la fin d’un test de charge « long » (qui dure plusieurs heures ou jours), ou tout simplement dans le cadre de la mise en place d’un système d’alerte en cas de temps de réponse dégradé d’un site web (par exemple) avec un script qui s’exécute toutes les x minutes ou heures.

Revenons à notre sujet, voici notre arbre JMeter tout simple pour ce test :

Continuer la lecture de Envoyer un email avec JMeter via son élément Requête SMTP

Intégration d’un test JMeter dans Hudson avec le plugin Hudson Performance

Hudson est une plate-forme d’intégration continue, JMeter est un outil de test de charge et aussi de tests fonctionnels (on a tendance à l’oublier, mais pour faire du test de charge, il faut savoir faire du test fonctionnel). Que diriez vous d’intégrer dans Hudson l’exécution d’un test (de charge) JMeter, et d’avoir un beau graphique pour voir l’évolution des temps de réponses de votre application en fonction des ‘builds’ Hudson / versions de votre application ?

La réponse à cette question est l’objet de ce tutoriel. Continuer la lecture de Intégration d’un test JMeter dans Hudson avec le plugin Hudson Performance

JMeter : le testeur d’expression régulière

Depuis la version 2.4 de JMeter, un nouvel sous-élément du récepteur Arbre de résultats est apparu, il s’agit du Testeur de RegExp.

Avant de vous montrer comment le trouver et l’utiliser, parlons-en un peu.

Comme vous le savez peut-être, JMeter dispose d’un élément Extracteur Expression régulière dans la catégorie Post-processeurs. La vocation de cet élément Extracteur Expression régulière est d’extraire à partir d’une expression régulière une ou plusieurs chaînes de caractères depuis la réponse reçue d’un échantillon de test. La puissance en termes d’extraction de données de cet élément est très forte, cependant, il est parfois peu aisée de trouver du premier coup la bonne expression régulière qui fera ce que vous voulez. En effet, vous devez jouer et rejouer le scénario pour tester votre expression régulière tant qu’elle n’est pas au point.

C’est là qu’intervient le Testeur de RegExp. Continuer la lecture de JMeter : le testeur d’expression régulière

JMeter : Sauvegarder dans un fichier votre session de navigation lors de l’enregistrement de vos scénarios fonctionnels

Imaginez- vous en mission pour effectuer un test de charge avec votre logiciel favori JMeter. Vous allez suivre le processus habituel :

  1. Identifier le scénario fonctionnel qui sera rejoué par les utilisateurs virtuels
  2. Enregistrer ce scénario dans JMeter au travers d’un session de navigation avec votre navigateur
  3. Affiner le scénario (variabiliser ce qui doit l’être, ajouter des assertions réponses, etc.)
  4. Lancer votre tir

Le problème, c’est que vous avez accès à l’application cible pendant une période limitée, genre 15 min, ou bien que vous n’avez pas accès directement à l’application, vous devez passer un poste de travail pour accéder à l’application, ce poste étant bien entendu moins bien que votre ordinateur (genre c’est pas Linux ;-))

Que diriez-vous d’enregistrer votre session de navigation complète, c’est-à-dire les requêtes avec leurs paramètres mais surtout les réponses reçues par le navigateur, afin de pouvoir affiner votre scénario « à froid », sans connexion avec l’application cible, ou carrément tranquillement à la maison ?

Voici le mode d’emploi. Continuer la lecture de JMeter : Sauvegarder dans un fichier votre session de navigation lors de l’enregistrement de vos scénarios fonctionnels

JMeter: petit test JMS Point à point avec ActiveMQ

Nous allons, dans ce petit billet, monter un scénario JMeter pour exécuter un test d’un serveur de Messagerie Orientée Messages (MOM). Pour ce dernier, nous allons prendre Apache ActiveMQ, sachant qu’il existe d’autres MOM comme IBM WebSphere MQ (ex-MQSeries), Tibco, etc.
Ici, nous allons montrer un test JMS en Point-à-Point. L’autre type de test possible en JMS est la Publication-Abonnement (Publisher-Subscriber), celui-ci fera l’objet d’un autre billet.

Un des pré-requis est d’avoir un serveur ActiveMQ démarré. Pour cela (et pour faire simple), il suffit de télécharger les fichiers binaires depuis le site Apache ActiveMQ, de décompresser l’archive, d’aller dans le répertoire de décompression et exécuter la commande suivante :

./bin/activemq start

Continuer la lecture de JMeter: petit test JMS Point à point avec ActiveMQ

Quelques cas d’utilisation de l’extracteur d’expression régulière dans JMeter

Voici un billet pour parler de l’extracteur d’expressions régulières dans JMeter.

Commençons par le plan de test : très simple, une requête avec en élément fils un extracteur d’expression régulière.

La requête HTTP est simplement la page d’accueil de ce blog.

On place un échantillon Débogage après la requête HTTP qui possède l’extracteur d’expression régulière, il permet d’afficher différentes informations internes à JMeter. Ici, on s’intéresse aux valeurs des variables de JMeter.

Ensuite (enfin) vient l’extracteur d’expression régulière, on commence par un « simple ».

Quelques explications : Continuer la lecture de Quelques cas d’utilisation de l’extracteur d’expression régulière dans JMeter

Envoyer en ligne de commande des paramètres à votre scénario JMeter

Voici un petit billet pour vous monter comment lancer JMeter en ligne de commande tout en paramétrant son scénario de test.

En effet, vous pouvez avoir l’idée ou l’envie de faire une série de test en jouant sur certains paramètres de votre scénario JMeter, le tout en ligne de commande. Par exemple, faire un test avec 1 utilisateur, puis le même test avec 10 utilisateurs, et le même avec 100 utilisateurs.

Bien évidemment vous pouvez les lancer depuis l’interface graphique de JMeter, à la suite, tout en modifiant le paramètre du nombre d’utilisateurs dans l’interface, mais c’est trop facile ;-).

Donc pour le faire en ligne de commande, il faut d’abord passer par l’interface graphique JMeter. En effet, nous avons besoin d’utiliser une fonction JMeter qui va permettre de lire une propriété JMeter et renvoyer sa valeur. Cette fonction doit être appelée à la place de la valeur du champ correspondant au paramètre que l’on veut rendre « paramétrable »…

Le mieux est d’abord de voir la capture d’écran :

Les différents ${__P(xxx,yyy)} correspondent à notre fonction JMeter qui permet de lire une propriété JMeter, et qui la renvoie. Continuer la lecture de Envoyer en ligne de commande des paramètres à votre scénario JMeter

Charger un serveur LDAP depuis une base de données avec JMeter

Voici un tutoriel pour réaliser un script JMeter qui va lire dans une base de données (ici MySQL) via JDBC, une table d’utilisateurs (nom et prénom), puis se connecter sur un serveur LDAP (ici openLDAP) afin d’ajouter chaque utilisateur dans le LDAP.

Ce tutoriel a pour objectifs :

  1. Rappeler l’utilisation de Requête JDBC pour accéder à une base de données, et récupérer dans un ensemble de variables les résultats de requête JDBC
  2. Montrer comment effectuer l’ajout d’une fiche Utilisateur dans un serveur LDAP via une Requête LDAP étendue de JMeter
  3. Montrer le fonctionnement du Contrôleur Pour chaque dans JMeter
  4. Montrer un petit exemple de Pré-Processeur BeanShell

Voici le plan de de test final.

Continuer la lecture de Charger un serveur LDAP depuis une base de données avec JMeter

JMeter : Exemple de script BeanShell pour enregistrer des données dans un fichier

Un petit billet dans un but pédagogique, pour montrer un exemple de script BeanShell pour enregistrer des données dans un fichier texte.

Soit le plan de test suivant :

Dans ce plan de test, on extrait avec l’extracteur d’expressions régulières des données de la page reçue, (ici un NOMBRE).

On ajoute ‘au passage’ une assertion de réponse qui est là pour s’assurer que l’expression regexp a réussie (on vérifier si on (re)trouve le NOMBRE précédemment cherché dans la page).

Et pour finir, on a un élément post-processeur BeanShell qui exécuter un bout de code Java pour faire l’enregistrement de la variable NOMBRE dans un fichier.

Continuer la lecture de JMeter : Exemple de script BeanShell pour enregistrer des données dans un fichier