Versuchen Sie, Random Controller zu verwenden.
Der einfachste Weg, Ihr Szenario zu implementieren:
%Vor% Dies wird 5 Threads n mal wiederholen.
Random Controller wird zufällig jede Schritt HTTP-Anfrage von "Anfragen Pool" abholen - alle Sampler hinzugefügt als Kinder Random Controller.
Test Aktion pausiert den Thread für 40 Sekunden.
Aktualisiert:
Arbeitsillustration für das obige Schema:
%Vor%
Sie können das Arbeitsbeispiel für das beschriebene Schema von hier herunterladen: rc-plan.jmx .
Dieser funktioniert, wie Sie wollen (zumindest für mich, Jmeter 2.5.1): er wählt zufällig eine Anfrage aus Anfragen Pool (in Beispiel - 10 Anfragen) für jeden Benutzer (hier - 5 Benutzer) auf jeden Schritt (hier - 10 Schleifen ) und pausiert jeden Thread für 40 Sekunden (Constant Timer).
Sie können auch in dieses Mailing-Archiv schauen: Ist das ein Zufallsverfahren? URL-Auswahl? .
Eine ähnliche Situation scheint hier hier beschrieben zu werden.
... Laut offizieller Dokumentation "Interaktionen zwischen mehreren Controllern können zu einem komplexen Verhalten führen. Dies gilt insbesondere für den Random Controller."
Ich benutze derzeit JMeter, um 5 Benutzer zu simulieren, die alle 40 Sekunden Anfragen auslösen. Ich habe 100 verschiedene Anfragen erstellt, aber alle 40 Sekunden feuert jeder Benutzer alle 100 Anfragen. Ich möchte es so machen, dass nach jedem 40 Sekunden jeder Benutzer nur 1 Anfrage feuert und diese Anfrage sich von der vorherigen Anfrage unterscheiden muss. Ich würde gerne wissen, welche Art von Controller zu verwenden (oder etwas anderes), um dieses Szenario zu erreichen.
Danke
Eine weitere Option für Sie besteht darin, im Voraus eine CSV-Datei mit Parametern für Ihre Anforderungen zu erstellen und CSV-Daten zu verwenden Setzen Sie Config , um eine einzelne http-Anfrage zu parametrieren.
Das hängt natürlich davon ab, wie unterschiedlich Ihre http-Anfragen sind, aber wenn es Ihren Anforderungen entspricht, gibt es einige potentielle Boni, wenn Sie 1 HTTP-Anfrage in Ihrem Testplan gegen 100 beibehalten.
Die anderen Details wären die gleichen wie @Alies Belik angelegt - eine Thread-Gruppe, die für die benötigte Anzahl von Threads und Loops konfiguriert ist, mit einem konstanten Timer am Ende für Ihre Pause von 40 Sekunden.