Feather Background Waves Background
Aller au contenu
Feather Background Waves Background
Feather Background Waves Background
  1. JMeter en Français/

Langages de programmation dans JMeter

débutant - This article is part of a series.

skills

Je suis récemment publié un article sur mon employeur Flood.io concernant les fonctions natiques de JMeter JMeter native functions, cependant, il y a d’autres fonctions étendues qui peuvent être obtenues en installant JMeter plugins, ces fonction, comme les natiques, sont écrites dans le langage de programmation Java et voici la source code pour les deux:

En théorie, n’importe qui, possédant les connaissances nécessaires, pourrait programmer ses propres fonctions en Java, compiler le code et obtenir le fichier jar de sortie. Une fois le fichier jar obtenu, il suffirait de répéter la procédure décrite pour installer les plugins JMeter et copier le fichier jar dans le dossier /lib/ext/. De cette manière, notre fonction serait disponible dans l’outil. Génial, non ?

L’idée principale n’était pas si mauvaise : j’ai même apporté quelques modifications au premier plugin Websocket de Maciej Zaleski il y a de nombreuses années. Cette méthode peu orthodoxe n’est pas la seule façon d’intégrer du code dans la logique principale. JMeter prend en charge nativement quatre langages de programmation :

beans

BeanShell>

BeanShell #

Depuis sa création, JMeter a intégré son propre langage BeanShell comme partie de ses attributs. À l’époque, c’était un langage rapide et flexible avec une syntaxe proche du Java. En 2003, le projet commençait à perdre en vigueur jusqu’à ce qu’il s’arrête net dans sa version stable 1.3. Il y a maintenant 16 ans que son dernier relancement n’a pas abouti, et bien que des efforts aient été faits pour réanimer et sauver le projet, les améliorations minimales ont été réalisées dans les versions beta. Je ne recommande BeanShell qu’aux scripts JMeter qui ne peuvent pas être migrés vers une version plus moderne. Bien que je crois que la raison principale de ne pas l’utiliser est son obsolescence, nous pouvons toujours voir des gens qui ont un certain respect pour lui et continuent à générer des outils pour BeanShell.

javascript

Javascript>

Javascript #

JavaScript ou ECMAScript est une autre langue de programmation interprétée, qui n’est pas très populaire car BeanShell a capturé l’attention pendant des années pour beaucoup d’utilisateurs, mais elle est assez complète. Certaines composantes JMeter utilisent cette langue par défaut, comme le Controleur Conditionnel et le Controleur While, pour leur expression conditionnelle, contrairement à ce que l’on pourrait penser, cette langue n’est pas une des préférées, elle est même raresment trouvée dans les exemples de JMeter en cloud.

jexl

JEXL>

JEXL #

JEXL est une langue de expressions simple basée sur le Apache Velocity projet, en plus des définitions de JSTL 1.1 et JSP 2. Elle est essentiellement un petit moteur puissant qui évalue les statements, personnellement j’utilise beaucoup cette langue pour évaluer des seuils et diviser le travail du flux critique en scripts, je préfère utiliser JEXL en association avec IF Controllers plutôt que de l’utiliser avec Throughput Controller, car dans les volumes de charge élevés beaucoup d’éléments peuvent être consommés pour maintenir la proportionnelle du chargement désigné, en bref, sur une grande échelle le premier solution est plus efficace.

groovy

Groovy>

Groovy #

Il est facile de comprendre la popularité de Groovy en observant le nombre important d’entreprises qui l’utilisent. Ironiquement, la première version a été publiée en 2003 avec la dernière version stable de Beanshell. Depuis lors, Groovy s’est développé et est devenu une solution fiable. Il suffit de mentionner quelques-unes de ses principales caractéristiques :

  • C’est une langue de programmation orientée objet
  • Elle compile directement en bytecode, aussi rapide que le code Java
  • Vous pouvez utiliser la fonctionnalité “cache”
  • Il y a des améliorations et mises à jour périodiques

Nous n’avons pas pu comparer Groovy avec JavaScript ou Beanshell, simplement parce qu’il n’y a aucun intérêt à le faire. Les caractéristiques, la vitesse et la communauté de Groovy sont véritablement impressionnantes. Je ne recommanderais jamais d’utiliser d’autres langages de programmation que Groovy dans JMeter. Je prévois de faire une comparaison de l’efficacité et du temps en cours dans un futur post, afin que les avantages de Groovy lorsqu’il s’agit d’optimiser les ressources soient plus clairs.



débutant - This article is part of a series.