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 ?
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.
Voici comment j'ai utilisé pour obtenir Set of vars directement dans le code (variante avec Java dans JSR223 PostProcessor):
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()); }
Le code ci-dessus va créer jMeterVarsForStackOverflow.txt fichier à D: et mettre toutes les variables là-bas: