JMeter - CSV-Datensatz mit Eigenschaft als Dateiname

Sep 15 2020

In meinem setupThread führe ich zuerst Code aus, um eine Eigenschaft zu generieren, die einen Dateipfad enthält. Ich möchte diesen Dateipfad dann als Dateinamenparameter für eine CSV-Datensatzkonfiguration verwenden (immer noch im setupThread).

Meine setupThread-Struktur lautet im Grunde:

  • Identifizieren Sie den Dateipfad und fügen Sie ihn in die Eigenschaft ein.
  • Schleifenregler
    • CSV-Datensatzkonfiguration mit {__P (filePath)} als Dateiname
    • Nachfolgende Anforderungen in Schleife.

Ich habe in anderen Fragen gesehen, dass die Verwendung von Eigenschaften möglich sein sollte. Was ich jedoch gefunden habe, ist Folgendes:

Beim ersten Ausführen wird die Eigenschaft festgelegt (im Debug-Sampler angezeigt), aber der CSV-Datensatz (und nachfolgende Anforderungen) schlagen fehl, da "Datei 1 vorhanden und lesbar sein muss". Hier tritt es nicht einmal in die Schleife selbst ein (gesehen mit Debug-Sampler oder Protokollierung von "Hello World" usw.).

Beim zweiten Durchgang funktioniert alles einwandfrei. Ich gehe davon aus, dass dies daran liegt, dass die Dateipfadeigenschaft zuvor festgelegt wurde.

Ich weiß, dass ich den Dateipfad über die Befehlszeile übergeben kann, und das sollte in Ordnung sein. Ich kann natürlich einen Standarddateipfad neben der Eigenschaft als Fallback fest codieren, aber das scheint auch keine gute Lösung zu sein.

Ich vermute, dass in dem Szenario, in dem die Eigenschaft in setupThread festgelegt wurde und sich der CSV-Datensatz dann in einer nachfolgenden Thread-Gruppe befand, alles in Ordnung wäre. Ich benötige jedoch die zuvor erwähnten "nachfolgenden Anforderungen", um auch im setupThread ausgeführt zu werden.

Irgendwelche Ideen werden sehr geschätzt!

Antworten

1 DmitriT Sep 15 2020 at 16:07

Sie können nicht, wie pro Execution Order Kapitel JMeter Dokumentation Konfigurationselemente ausgeführt werden , bevor irgendetwas anderes so ein Konfigurationselement CSV Data Set Config das ausgeführt wird, bevor Ihr Code ist, der seinen Weg ändert.

Der einzige Weg , um den Einsatz dynamischer Pfade in CSV - Dateien verwendet __CSVRead () Funktion , Check - out Wie anders CSV - Dateien in JMeter Runtime Pick für weitere Details Artikel bei Bedarf