Ich habe eine benutzerdefinierte Jmeter Sampler in Java geschrieben, die Datei Speicherort und Dateipfad als Parameter und basierend auf denen erstellt eine JSON-Datei für die Entsendung zu einem Dienst (basierend auf einer Vorlagendatei) . Da mein Skript in mehreren Umgebungen mit unterschiedlichen Verzeichnisstrukturen ausgeführt werden muss, muss ich einen relativen Pfad in meinem Sampler verwenden, um auf die Datei zu verweisen, die ich in gültiges JSON übersetzen muss. Gibt es eine Möglichkeit, das Verzeichnis, in dem mein Skript lebt, als Variable in jmeter zu erhalten? Ich habe $ {user.dir} ausprobiert, aber das gibt das Verzeichnis zurück, in dem jmeter gestartet wurde, nicht das Verzeichnis, in dem mein Skript läuft. Gibt es eine andere Systemeigenschaft, auf die ich verweisen könnte, um diesen Wert zu erhalten? Wenn nicht, hat jemand das programmatisch erreicht?Wie bekomme ich ein Verzeichnis von jmeter Skript in Jmeter
Antwort
Ich stieß vor einiger Zeit auf eine ähnliche Situation, wo ich eine Signaturdatei als Teil einer POST-Anfrage hochladen musste. Diese Signaturdatei wurde relativ zu der Ordnerstruktur verwendet, in der sich meine JMeter-Skripts befanden.
Verwenden Sie den folgenden BeanShell-Ausdruck (auf den als Eigenschaft auf Systemebene zugegriffen werden kann), um den relativen Pfad von dem Ort aufzulösen, an dem sich Ihre JMeter-Testfälle befinden.
${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}
Sie können diese Eingabe mit dem Namen der Datei, die Sie/POST im senden möchten „Dateien senden Mit dem Request“ Feld, indem Sie einfach den Dateinamen angehängt wird.
${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}fileName.sig
Eine sauberere Implementierung würde dies als eine Variable (lokal oder global je nach Umfang) und verwendet diese Variable in den entsprechenden Feldern werden erklären.
absolutePath = ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}
${absolutePath}fileName.sig
HINWEIS: Dieser Ansatz ist super nützlich, wenn Sie Ihre JMeter Testdateien in ein Continuous Integration System wie Jenkins stopfen. Es macht Ihre Testfälle wartungsfreundlicher.
Ermittelt den Pfad der Datei über die angegebene Syntax (Beispiel: C: \ Users \ test.xlsx) und speichert sie in der Variablen. Aber wenn ich die gleiche Variable in Java I/O-Klassen-Dateien (FileInputStream) verwendet, um den Inhalt zu lesen, bekomme ich Fehler. Als ich debuggte, fand ich den umgekehrten Schrägstrich. Konnte die Variable nicht an die FileInputStream-Klasse übergeben. Gibt es eine Möglichkeit, das Dateitrennzeichen in Schrägstrich zu ändern? – Manigandan
str = str.replace ("\\", "/"); ? – stuxnetting
Es funktioniert nicht. – Manigandan
- 1. Schreiben eines einfachen JMeter Skript
- 2. Jmeter - Verwenden von Jmeter-Funktion als bsh.args
- 3. Zugriff verweigert Problem beim Aufzeichnen Jmeter Skript
- 4. Jmeter schreibe in Datei -Beanshell Skript Probleme
- 5. Jmeter Parameterextraktion
- 6. Jmeter Bohnenschale Skript - Polnisch Vor- und Nachname
- 7. Jmeter - wie speicherintensiv ist__UUID()?
- 8. JMeter: Testvalidierung
- 9. Wie richte ich IP-Spoofing in Jmeter ein?
- 10. Jmeter Variable von Antwort
- 11. Wie kann ich den Leistungsbericht in Jmeter
- 12. Wie stelle ich die richtige Hochlaufzeit in Jmeter ein?
- 13. Jmeter SNI Ausgabe
- 14. jmeter einzelner benutzergesteuerter Test
- 15. Kann ich einen Jmeter-Test als Skript exportieren?
- 16. Gewindegruppen separat in Jmeter
- 17. So injizieren Mausereignis in JMeter
- 18. kann nicht jmeter 3.0 Skript mit JSON Pfad POST-Prozessor mit jmeter-Maven-Plugin
- 19. sind in jmeter
- 20. Einrichten von Jmeter für HTTPS
- 21. Get ein konstanter rps in Jmeter
- 22. Jmeter Verteilung Konfiguration Konfiguration
- 23. Wie ändere ich die Schriftgröße für JMeter?
- 24. JMeter unbekannt arg? T
- 25. WSDL nicht gültig in Jmeter
- 26. JMeter - Logging mit PopUp
- 27. Welches Maven Plugin soll für JMeter verwendet werden? jmeter-maven-plugin oder chronos-jmeter-maven-plugin?
- 28. Wie zu ignorieren Fehler in Jmeter
- 29. Jmeter - wie andere Java-Klasse
- 30. JMeter Bericht Dashboard
Haben Sie eine der in http://stackoverflow.com/questions/9179463/access-to-jmeter-script-path aufgelisteten Lösungen ausprobiert? – DComte