Jmeter, wie eine Schleife durch eine Liste mit verschiedenen Eigenschaften in einem einzigen thread-Gruppe oder controller?
Wie eine grundlegende Schleife, die durch unterschiedliche Eigenschaften für eine Feste Gruppe von Controllern? Loop-controller führt einen Satz Gruppe eine bestimmte Anzahl von Zeiten, nicht verwenden Eigenschaften obwohl.
Kann ich tun, Module, und setzen Sie die Werte, um die Eigenschaften für multi-thread-Gruppen-Nutzung, aber wie übergeben Sie die nächste iteration der Eigenschaft, und führen Sie die Schleife wieder?
property x
do module (points to controllers)
next property
Sagen, ich habe eine Liste von 44 Zeichen, und ich möchte, um eine Schleife durch die Zeichen in ${name} while mache ich einen test. Ich würde sehr viel das nicht wollen bauen 44 setzt der Controller für eine Charakter-änderung.
Bitte Beachten Sie ich kann nicht fügen Sie zusätzliche Dateien auf meinem computer. Es hat zu arbeiten, über das Lager verfügbaren Controllern. Ich bin mit Jmeter 2.4 r961953
Dank
- an diesem Punkt bin ich building 44 Sätze von Metadaten-Controllern, mit einem Modul läuft ein thread-Gruppe. I"m vorbei an den veränderten Charakter der einzelnen Tests. C ' Mon Jmeter, nur eine einfache Schleife?
- und was ist, wenn ich tun wollte, eine Reihe von tests, die mit den Eigenschaften des einen, dann Eigenschaften von anderen? Normalerweise wäre dies eine Schleife innerhalb einer Schleife. 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich erläutern, etwas mehr über die BeanShell-Methode. Meine Vermutung ist, dass Sie möchten, um es in einen User-Thread, wenn ja, mein Vorschlag wäre:
Erstellen Sie eine Loop Controller.
Innen Loop Controller fügen Sie folgende Einträge:
Den Zähler element wird als ein index verwendet wird, wählen Sie gültige Werte unseres Arrays, daher müssen wir, um anzugeben, eine
Reference Name
für die Zähler - lassen Sie uns sagen, dass esloopCounter
.Nun müssen wir wechseln BeanShell Präprozessor und definieren Sie das array von Werten. Eine tolle Sache ist, dass wir
vars
variable zur Verfügung und es gibt uns CRUD-Zugriff auf Variablen, die in dem Szenario verwendet:Und für den letzten Schritt, innerhalb mySampler können wir eine variable verwenden, die in einem regulären JMeter Weg :
${myVariable}
JMeter API kann sehr hilfreich, wenn Sie möchten, eine komplexere Lösung.
Gibt es eine Handvoll von verschiedenen Möglichkeiten, um eine Schleife durch die verschiedenen Werte, die ohne das hinzufügen von externen Dateien:
Können Sie es so einrichten, jede Schleife bekommt einen anderen Wert.
Schauen Sie sich die verschiedenen Konfiguration von Controllern zu finden, die für Sie am besten funktioniert.
BEARBEITEN:
Ich meinte Benutzer-Parameter, keine Benutzer-Variablen definieren.
User-Parameter -
Brauchen Sie eine Zeile pro variable, die mit 44 Spalten. Sorry für die Verwirrung.
User-Parameter-Struktur
Beanshell-Methode
Alternativ können Sie ein array in javascript in Verbindung mit einem Zähler. Die Beanshell Sampler haben Zugang zu Jmeter Variablen und Eigenschaften, so dass die beanshell sampler zum Lesen des Zähler-Wert. Dies kann ein schneller, sauberer Weg, dann ist die Verwendung von Benutzer-Parameter.
Beanshell Struktur
Beanshell Pseudo-code wäre
Zähler mit der CharAt-Funktion
Wenn Sie nur zum erzeugen von Zeichen, können Sie mit der javascript-Funktion nutzen Sie die Funktion charAt, mit dem Wert aus dem Zähler. Grundlegende Struktur wäre:
test-plan
- Thread-Gruppe geloopt 44 Zeiten
-- Counter
-- Anfrage
mit der bitte, mit so etwas wie
${__javaScript(charAt(${counter}))
als der Wert des Parameters. Sie können die Nutzung JEXL anstelle von javaScript oder evalVar/V/eval innerhalb der charAt-Funktion.