Faire un graphique de résultats JMeter avec Eclipse BIRT

Un billet pour pointer vers cet autre billet de la société Zenika, qui explique le comment-faire un rapport (graphique) de résultats suite à un test JMeter.

Dans le billet pointé, la source de données est le fichier de résultats JMeter au format JTL (donc XML). BIRT sait le lire ‘nativement’. Mais j’ajouterai qu’il est préférable d’avoir un format CSV pour l’enregistrement des données d’un JMeter (plus rapide et plus économe en taille), et que BIRT sait aussi lire du CSV nativement (à condition d’avoir une virgule comme séparateur (et non un point-virgule comme j’ai tendance à le faire dans mes CSV…))

Enfin, tout cela pour dire, que c’est un bon article à suivre, d’autant que cela peut épater les gens de voir que l’on utilise pas le pauvre (mais pratique) Excel ou OpenOffice pour faire ses graphiques, mais un bel outil de génération de rapports / graphiques.

Maintenant, j’aimerai bien pousser plus loin le bouchon avec JMeter/BIRT pour voir si on peut « préparer » des rapports (au sens PDF) avec tableaux et graphiques à partir de données JMeter d’un même test (qui serait exécuté N fois) afin d’avoir un rapport assez complet en quelques minutes après la fin d’un tir. Ce qui semble carrément possible avec BIRT. A suivre…

JMeter : patch ‘HTTPS proxy’ pour permettre d’enregistrer une session de navigation d’un site web en HTTPS

Juste un mot pour vous dire que je viens de proposer un patch pour ajouter une fonctionnalité, à mon sens, importante à JMeter : l’enregistrement d’une session de navigation en HTTPS.

https://issues.apache.org/bugzilla/show_bug.cgi?id=47622

En effet, JMeter ne permet pas d’enregistrer directement une session de navigation d’un site HTTPS dans un script. Il y a la fonctionnalité « Tenter d’usurper HTTPS » qui permet le faire indirectement, mais cela ne marche pas toujours notamment quand il y a des redirections lors d’une authentification HTTPS. Voir ce billet.

Donc, le patch permet d’utiliser JMeter comme proxy « ssl » dans son navigateur, et de faire son script JMeter sur un site HTTPS (le protocole http continuant à fonctionner aussi bien entendu)

Pour l’instant, le patch vient juste d’être posté, il faut donc qu’il soit testé et (si tout ce passe bien) validé sur le SVN pour le retrouver dans une version « nightly » de JMeter, et j’espère, une prochaine version stable 😉

Si jamais vous avez les sources de JMeter sur votre poste, vous pouvez le tester en appliquant le patch, je suis preneur des commentaires et retours.

Petite mise à jour (05/08/2009) : si jamais vous souhaitez tester la fonctionnalité sans passer par la case « compilation avec Eclipse/Ant », vous pouvez télécharger une version 2.3.4 de tests avec ce patch.

http://www.milamberspace.net/jmeter-testing/dist/

Nouvelle mise à jour (06/08/2009) : le patch a été validé dans le subversion de JMeter (avec quelques améliorations, principalement sur l’utilisation du ‘keytool’ Java plutôt que openssl pour la génération du certificat SSL du proxy JMeter).

Vous pourrez directement télécharger une version nightly build dès que l’outil de génération automatique aura fait sont travail.

http://people.apache.org/builds/jakarta-jmeter/nightly/ (version après r801473)

Nouvelle mise à jour (05/01/2011) : Depuis la version 2.4 de JMeter, sortie en 2010, ce patch fait parti intégrante de JMeter, donc plus besoin de prendre la version Nightly.

./

r801473

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 : attention à suivre ou non les redirections HTTP (code 302)

Un petit billet pour vous montrer un effet de bord de l’élément Serveur Proxy HTTP de JMeter.

Tout d’abord, voici un arbre JMeter qui va nous permettre de faire l’enregistrement d’une session de navigation.

J’ai choisi comme application modèle, l’un des exemples livrés avec Tomcat 6 : l’exemple de ressources protégées par un identifiant et mot de passe. Continuer la lecture de JMeter : attention à suivre ou non les redirections HTTP (code 302)

Rafraichissement du tutoriel pour faire son premier test de charges avec JMeter

Je viens de donner un petit coup de jeune au premier tutoriel JMeter de ce blog. Il avait été fait en 2007, avec la version 2.3RC4 de JMeter, avec des captures de l’interface en anglais, tellement la version française était incomplète et erronée.

Aujourd’hui, c’est la version 2.3.4, et son amélioration de la localisation en français. Donc, voici la nouvelle version de ce tutoriel « JMeter : Test de charges d’un site Web, mode d’emploi », qui maintenant a des captures de l’interface en français. J’en ai également profité pour revoir certains textes et/ou explications.

Bon courage dans vos tests !

./

Nouvelle version d’Apache JMeter : v2.3.4

Aujourd’hui c’est l’été, et cela sera également la sortie de la version 2.3.4 d’Apache JMeter. Il s’agit principalement d’une version venant corriger des anomalies apparues dans la version 2.3.3, sortie depuis à peine un mois.

Les nouveautés restent donc les mêmes que la version précédente, vous pouvez en avoir un aperçu via ce billet.

Il est recommandé de basculer en version 2.3.4, spécialement pour ceux qui utilisent la version 2.3.3.

Bonne utilisation de JMeter !

./

JMeter : utilisation de l’élément JDBC comme source de données pour un test de charge (partie 2)

Nous revoilà dans la deuxième partie de ce tutoriel. Pour rappel, nous étions dans la mise en œuvre d’un test de charges, dont les données injectées proviennent directement d’une base de données et ont été récupérées par JMeter, le tout expliqué dans cette partie. Continuer la lecture de JMeter : utilisation de l’élément JDBC comme source de données pour un test de charge (partie 2)

JMeter : utilisation de l’élément JDBC comme source de données pour un test de charge (partie 1)

Avec la version 2.3.3, JMeter nous propose une amélioration de l’échantillon JDBC, qui permet de récupérer les valeurs de champs d’une requête SQL de type SELECT et de les placer dans des variables JMeter.

D’où l’idée suivante : Pourquoi ne pas utiliser une base de données comme source de données pour un test de charge ?

Tout d’abord les pré-requis :

  • Une base de données bien entendu, avec le pilote JDBC approprié, à placer dans Jmeter_Home/lib
  • Dans la base de données, une table avec une liste d’éléments (ici j’ai repris mon fichier BOXERS que j’ai inséré en base)

Bon voyons un peu comment faire. Ci-dessous le plan de test à mettre en œuvre :

Il y a deux parties :

Nouvelle version d’Apache JMeter : 2.3.3

La nouvelle version de JMeter est sortie, passant de la 2.3.2 (sortie il y a un an) à la 2.3.3 (téléchargement). Un simple digit incrémenté, en troisième position, laissant penser qu’il s’agit d’une mise à jour mineure. Oui et non.

Oui, car il n’y a pas de révolution dans cette nouvelle version d’un point de vue fonctionnalité ou architecture interne. Non, car pour cette nouvelle version, la traduction en français de l’interface de JMeter a été revue, corrigée et complétée pour quasiment tous les éléments (à l’exception de JMS et LDAP étendu).

Dans la version précédente, la version française semblait être traduite par un traducteur automatique, il était souvent préférable d’utiliser JMeter dans la langue anglaise afin de bien comprendre les différents champs (et leurs fonctions) d’un élément. Il suffit de regarder les copies d’écrans sur les tutoriels de ce blog. Maintenant plus d’excuses pour ne pas l’utiliser en français, les termes ont été mieux choisi par rapport à leur signification dans le contexte.

Dans la liste des changements, il n’y a pas que la localisation (bien que l’on retrouve également l’ajout du polonais et du portugais (du Brésil)).

Parmi les évolutions ont trouve :

Continuer la lecture de Nouvelle version d’Apache JMeter : 2.3.3

JMeter : utiliser SQLite pour traiter les résultats d’un test de charges par palier

Dans ce billet, j’indique qu’il est possible d’utiliser SQLite pour traiter les données d’un tir de charges par palier (tutoriel ici).

Voici maintenant le mode d’emploi pour utiliser SQLite afin de traiter ses résultats de tir JMeter. Continuer la lecture de JMeter : utiliser SQLite pour traiter les résultats d’un test de charges par palier