web-dev-qa-db-fra.com

jmeter - montrant les valeurs des variables

Mon groupe fait beaucoup d'automatisation des tests avec JM. En règle générale, nous avons un fichier de propriétés qui a défini un tas de variables. Celles-ci sont à leur tour mappées aux "Variables définies par l'utilisateur" dont nous avons un certain nombre d'ensembles différents.

Celles-ci sont référencées dans le reste du jmx - je trouve cela difficile car il y a tellement de variables dans tellement d'endroits différents pour savoir ce qui est quoi. Existe-t-il un moyen pour que jmeter affiche les valeurs de ses variables - l'échantillonneur personnalisé convient? Idéalement, je l'adorerais si vous pouviez simplement survoler un var et afficher sa valeur.

Des idées ?

36
wmitchell

Les dernières versions de Jmeter ont un échantillonneur fantastique appelé "Debug Sampler" qui vous montrera les valeurs de: Variables Jmeter, Propriétés Jmeter ou Propriétés système.

Vous pouvez les insérer où vous le souhaitez dans le script pour obtenir des valeurs à un moment donné. Vous voudrez avoir un "View Results Tree" activé pour afficher l'échantillonneur.

Étant donné que Jmeter déclare les variables d'un fichier lors de l'exécution, vous ne pourrez pas obtenir la solution idéale.

Je suis curieux ... serait-il plus propre d'utiliser "CSV Data Set Config" plutôt que de remplir "User Defined Variables" à partir d'un fichier de propriétés?

Edit: Ajout d'une explication sur la déclaration de variable et question CSV posée.

45
BlackGaff

Voici comment j'ai utilisé pour obtenir Set of vars directement dans le code (variante avec Java dans JSR223 PostProcessor):

  1. Ajoutez "JSR223 PostProcessor" par un clic droit partout où vous devez vérifier les variables jMeter dans votre projet;

Adding JSR223 PostProcessor

  1. Définir la langue (dans mon cas - sur Java);
  2. Ajoutez le code suivant à la fenêtre de script:

    import Java.util.Map; String jMeterVars; jMeterVars = "Quantity of variables: " + vars.entrySet().size() + ".\n\n"; jMeterVars += "[VARIABLE NAME] ==>> [VARIABLE VALUE]\n\n"; for (Map.Entry entry : vars.entrySet()) { jMeterVars += entry.getKey() + " ==>> " + entry.getValue().toString() + "\n"; } try { FileWriter fw = new FileWriter("D:\\jMeterVarsForStackOverflow.txt",true); fw.write(jMeterVars); fw.close(); } catch(IOException ioe) { System.err.println("IOException: " + ioe.getMessage()); }

    1. Vérifiez que tout dans le postprocesseur JSR223 ressemble à ça: JSR223 PostProcessor ready to go
    2. Démarrez votre projet dans jMeter.

Le code ci-dessus va créer jMeterVarsForStackOverflow.txt fichier à D: et mettre toutes les variables là-bas:

Sample of file with jMeter variables got by the code above

6
Max Fesenko