2010-09-30 6 views
32

Meine Gruppe macht eine Menge Testautomatisierung mit JM. Normalerweise haben wir eine Eigenschaftendatei, die eine Menge Variablen definiert hat. Diese wiederum sind "User Defined Variables" zugeordnet, von denen wir verschiedene Sets haben.jmeter - zeigt die Werte der Variablen

Diese sind im Rest der jmx in referenziert - ich finde es schwierig, da es so viele Variablen in so vielen verschiedenen Orten gibt, um zu wissen, was was ist. Gibt es eine Möglichkeit, jmeter anzuzeigen, welche Werte seine Variablen haben - benutzerdefinierter Sampler ist in Ordnung? Idealerweise liebe ich es, wenn Sie einfach eine Variable schweben lassen und ihren Wert anzeigen lassen.

Irgendwelche Ideen?

Antwort

37

Die neuesten Versionen von Jmeter haben einen fantastischen Sampler namens "Debug Sampler", der Ihnen die Werte für: Jmeter-Variablen, Jmeter-Eigenschaften oder Systemeigenschaften zeigt.

Sie können sie an beliebiger Stelle in das Skript einfügen, um Werte zu einem bestimmten Zeitpunkt zu erhalten. Sie sollten einen "View Results Tree" aktivieren, um den Sampler anzuzeigen.

Vorausgesetzt, dass Jmeter Variablen aus einer Datei beim Ausführen deklariert, können Sie keine optimale Lösung erhalten.

Ich bin neugierig ... wäre es sauberer, "CSV Data Set Config" zu verwenden, anstatt "Benutzerdefinierte Variablen" aus einer Eigenschaftendatei zu füllen?

Bearbeiten: Erläuterung zu Variablendeklaration und CSV-Frage hinzugefügt.

+0

Dank krank geben diese BG ein gehen. – wmitchell

2

Hier ist, wie ich verwendet Set von Vars zu erhalten rechts durch den Code (Variante mit Java-Code in JSR223 Postprocessor):

  1. hinzufügen „JSR223 Postprocessor“ mit der rechten klicken Sie auf, wo Sie jMeter Variablen überprüfen müssen in deinem Projekt;

Adding JSR223 PostProcessor

  1. Set Language (in meinem Fall - zu Java);
  2. In folgendem Code Skriptfenster:

    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. Sie sicher, dass alles in der JSR223 Postprocessor so aussieht: JSR223 PostProcessor ready to go
    2. Starten Sie Ihr Projekt in jMeter .

Der obige Code wird jMeterVarsForStackOverflow.txt Datei auf D erstellen: und dort alle Variablen setzen:

Sample of file with jMeter variables got by the code above