Apache JMeter 2.10 est sortie

Apache JMeter 2.10, c’est beaucoup de choses à dire, car il y a eu pas mal de changements et d’améliorations.

Tout d’abord, au niveau des performances de JMeter lui-même, il y a eu plusieurs améliorations. JMeter 2.10 est plus performant que les versions précédentes, vous pouvez réaliser des test de charges avec plus d’utilisateurs virtuels à configuration identique.

L’une d’elle permet de réaliser de manière plus optimale des tests de charges à fort débit (ceux qui n’ont pas de temps de pause entre le requête).

Une autre amélioration concerne la récupération des liens dans une page html afin d’avoir les ressources liées à la page pour les télécharger ensuite. Le nouveau moteur est Lagarto. Par ailleurs un autre moteur HTML basé sur JSoup est également disponible pour les tests orientés fonctionnel et qui nécessité une récupération fine des ressources. Voir dans le fichier jmeter.properties, la propriété htmlParser.className.

apache-jmeter-210-01

 

Une nouvelle fonctionnalité « Modèles » permet d’avoir des modèles de scripts JMeter (scénario complet ou extraits de script). Cela doit permettre de démarrer plus vite avec JMeter lorsque l’on est débutant, mais peut aussi aider l’utilisateur confirmé pour aller plus vite, en ajoutant ses propres modèles.

apache-jmeter-210-02

 

Un certain nombre de modèles sont fournis, dont certains correspondent à des scénarios de test expliqués dans le manuel JMeter :

apache-jmeter-210-03

 

De nombreuses modifications ont été apportées sur le « Serveur Proxy HTTP », à commencer par son nom qui change pour devenir Enregistreur script de test HTTP(S), ce nom est plus proche de la réalité de la fonctionnalité qu’il remplit.

Ensuite l’enregistrement des sites en HTTPS a maintenant une gestion plus fine des autorisations d’utilisation du faux certificat SSL qu’utilise JMeter pour intercepteur les communications HTTPS afin d’enregistrer un scénario de navigation. Au lieu d’avoir un certificat SSL pour n’importe quel site HTTPS, chaque site (domaine) aura son faux certificat SSL associé. Ils seront générés à la volée.

apache-jmeter-210-04

 

Une autre petite amélioration sympathique de l’Enregistreur script de test HTTP(S), c’est la détection automatique des redirections lors de l’enregistrement. C’est un peu difficile à expliquer, mais si vous avez déjà rencontré ce problème vous allez vite comprendre. Disons que vous avez une session de navigation à enregistrer, celle-ci contient une étape d’authentification. Lorsque vous l’enregistrez avec le proxy JMeter (anciennement), il s’ajoute 2 nouvelles requêtes dans le contrôleur Enregistreur : la première est la requête POST qui envoie le login et le mot de passe, et la deuxième est la redirection vers la page d’accueil du site (si l’authentification est correcte).

Dorénavant, la deuxième requête HTTP (correspondant à la redirection) sera toujours ajoutée dans son script, mais 1/ elle sera désactivée et 2/ un commentaire indiquera qu’il s’agit d’une redirection. Pourquoi ? car lorsque vous exécutez ensuite le test, la première requête HTTP (qui a la case à cocher « suivre les redirections ») appelle déjà automatiquement la deuxième requête HTTP, donc pas la peine de l’appeler une deuxième fois dans votre script de test.

 

Vous aimez les scripts (Beanshell, Jexl, Groovy, Javascript, etc.) dans vos scénarios JMeter, vous allez être content, la coloration syntaxique fait son apparition dans les éléments de « scripts » (échantillons, pré- et post-processeurs, récepteurs, etc.)

Cela concerne également les requêtes HTTP (Données brutes), JMS et JDBC.

apache-jmeter-210-05

 

Dans la Requête HTTP, la méthode HTTP « DELETE » a été ajouté. Autorisant ainsi la possibilité d’exécuter des requêtes de type REST de suppression (genre ElasticSearch)

apache-jmeter-210-06

 

Un nouvel échantillon de test « Script MongoDB » a été ajouté et permet donc d’exécuter des scripts MongoDB. Attention c’est une fonctionnalité « beta » (et pas aussi performante que l’utilisation directement de l’API MongoDB).

apache-jmeter-210-07

 

Toujours du coté, MongoDB, vous pouvez appeler une source de données MongoDB gérée par JMeter directement dans vos scripts JMeter. Ceci permet donc de laisser JMeter gérer la connexion MongoDB, et de réaliser ses scripts de test de performance MongoDB au plus proche de l’API MongoDB.

apache-jmeter-210-08

 

Dans l’échantillon Appel de processus système, un délai d’expiration de la commande exécutée a été ajouté.

apache-jmeter-210-09

 

Idem avec la Requête JDBC, un délai d’expiration de la commande exécutée a été ajouté.

apache-jmeter-210-10

 

L’authentification Kerberos fait son apparition dans le Gestionnaire des autorisations HTTP.

apache-jmeter-210-11

 

Niveau Requête HTTP, la possibilité de configurer l’adresse IP source des requêtes a été complétée par la possibilité d’utiliser soit le nom du périphérique réseau (exemple : eth0) ou bien le nom de la machine (qui sera ensuite résolu pour trouver l’adresse IP).

(au passage vous noterez la petite réorganisation graphique en bas)

apache-jmeter-210-12

 

Le récepteur Arbre de résultats se voit doté d’un nouveau « testeur ». On avait déjà le testeur d’expression régulière, on a maintenant le Testeur CSS/JQuery.

apache-jmeter-210-13

 

Dans les tests de charges distribués, le nombre d’unités actives était cantonné à zéro pendant l’exécution du tir. Maintenant que vous lanciez votre test de charge distribué en mode graphique ou non, vous pourrez connaître le nombre de VU actives.

apache-jmeter-210-18

 

Toujours dans les tests de charges distribués, il y a eu également des améliorations de performance sur le mode de transfert « BatchSampleSender ». Deux nouveaux modes ont été ajouté : StrippedAsynch et StrippedDiskStore. Voir le fichier jmeter.properties pour leurs caractéristiques et/ou différences.

 apache-jmeter-210-14

 

Le récepteur Graphique évolution temps de réponses a reçu une petite amélioration permettant de définir l’intervalle de l’échelle du graphique.

apache-jmeter-210-15

 

Deux nouvelles fonctions JMeter ont été ajoutés : __urlencode and __urldecode. Elles permettent d’encoder ou de décoder des caractères spéciaux dans les URLs (genre le caractère espace ‘ ‘ en %20).

apache-jmeter-210-16

 

Le Plan de travail peut maintenant être sauvegardé ! et oui pour ceux qui ne le savent pas, avant les éléments sous le Plan de travail n’était pas sauvegardé dans son fichier .jmx. (On l’apprenait souvent à la ré-ouverture de son script :-().

apache-jmeter-210-17

 

Un petit truc sympa c’est la possibilité dorénavant de faire des glisser-déplacer de plusieurs éléments ensemble dans son arbre JMeter.

apache-jmeter-210-20

 

Pour finir, le logo de JMeter a été relifté, il me semble plus soigné que le précédent.apache-jmeter-210-19

Ainsi que le logo de l’application, résultat pour Gnome 3 (Linux) :

linux

Résultat pour Windows (7) :

win

Je vous invite également à consulter la page Changes de JMeter pour avoir la liste détaillée des bugs corrigés et améliorations.

Vous pouvez télécharger JMeter ici.

Bon continuation avec JMeter !