Configurer les propriétés dans JMeter
Sommaire
débutant - This article is part of a series.
Dans cette entrée, nous présentons deux options pour initialiser les propriétés dans JMeter.
Nous commençons par définir ce qu’est une propriété. Dans JMeter, une propriété est un valeur dynamique qui est commune à toutes les threads/VUsers. Elle est généralement utilisée pour définir des informations spécifiques pour l’environnement d’exécution d’une épreuve. L’accès aux propriétés se fait via la fonction __P(). Par exemple, la propriété PropX sera lue en utilisant ${__P(PropX)}$.
Dans ma dernière blog, j’ai mentionné deux bonnes pratiques liées à cette sujet :
Utilisez le mode non-graphique (CLI) Variables et propriétés
Importance #
La capacité d’initialiser les propriétés possède une avantage majeur de permettre de modifier le comportement du script externellement et dynamiquement. Par exemple, supposons que nous avons un script qui teste la performance d’un application sur le Web. Pendant l’évolution de cette application, la test peut être dirigé à l’environnement de développement initialement, puis à l’environnement QA. Dans ce cas, en utilisant une propriété pour configurer le script, nous pouvons modifier l’URL représentant l’environnement de test sans avoir besoin d’écrire ou de modifier directement le script.
Dans le schéma suivant, nous initialisons un groupe de threads en utilisant trois propriétés :
REMARQUE: Les propriétés peuvent être utilisées pour configurer plusieurs éléments dans un plan de test (tempoires, variables, boucles, etc).
Initialiser les propriétés par le biais de la ligne de commande (CLI) #
Cette méthode permet d’initialiser les propriétés du système via une ligne de commande. Elle est particulièrement utile pour des applications qui nécessitent un paramétrage initial avant leur exécution.
jmeter -n -t EjemploPropiedades.jmx -J HILOS=100 -J RAMPUP=10 -J DURACION=600
Dans cet exemple, nous assignons des valeurs aux propriétés THREADS, RAMPUP et DURATION.
Deuxième Option : Utiliser un Fichier de Propriétés #
Dans cette option, les propriétés sont incluses dans un fichier de la manière suivante:
#######################################
# Ambiente QA: propiedades específicas
HILOS=100
RAMPUP=10
DURACION=600
#######################################
jmeter -p pruebaQA_05-12-20.properties -n -t EjemploPropiedades.jmx
Dans ce cas, les variables sont initialement définies en utilisant les valeurs contenues dans le fichier de propriétés.
REM Bien que cela soit possible d’inclure ces propriétés directement dans le fichier user.properties, je préfère placer ce fichier à la même adresse que les scénarios de tests.
Quelle est la meilleure option ? #
Pour les raisons suivantes, la meilleure option est d’utiliser un fichier de propriétés.
- Flexibilité : nous pouvons créer des fichiers de propriétés pour différentes utilisations : définir des environnements de tests spécifiques, alterner le nombre d’utilisateurs et de threads, configurer la durée du test, etc.
- Documentation : permet de documenter les propriétés en détail pour chaque test.
- Productivité : une script peut être utilisé dans plusieurs tests par alternance des fichiers de propriétés.
Plus De Flexibilité #
Pour une flexibilité accrue, il est possible d’utiliser un mélange de laffectation des propriétés sur le ligne de commande avec l’utilisation d’un fichier de propriétés. Par exemple,
jmeter -p pruebaQA_05-12-20.properties -n -t EjemploPropiedades.jmx -J JOLIROS=200
Dans ce cas, la valeur de l’attribut HILOS remplace celle qui était assignée dans le fichier précédent mentionné. Les autres propriétés restent inchangées.
Concluison #
La utilisation des propriétés pour modifier le comportement d’un script offre une flexibilité, une productivité et un documentaion qui entraîne une augmentation significative de l’efficacité de la mise en œuvre du test de charge.