2017-10-20 43 views
1

Dans JMeter Je passe plusieurs entrées JSON comme corps, Nom de la variable est définie comme JSON_FILE et provenant de données CSV Configjmeter.functions.FileToString ne pas trouver l'emplacement du fichier

${__FileToString(${__eval(${JSON_FILE})}.json,,)} 

données CSV

designO1015643320 
. 
. 
designO1077673985 
designO1088516727 

L'exécution du test de charge à partir de Jmeter UI fonctionne très bien, mais en cours d'exécution en tant que mvn le projet donne une erreur à propos de FileNotFoundException même si le fichier .csv et les fichiers .json sont i n même dossier que le fichier .jmx

Erreur de .jmx.log:

WARN - jmeter.functions.FileToString: Impossible de lire le fichier: fichier designO1015643320.json 'designO1015643320.json' ne existe java.io.FileNotFoundException: fichier 'designO1015643320.json' n'existe pas

Réponse en .jtl:

httpSample t = "4" lt = "0" ts = "1508530091457" s = "false" lb = "CreateDesign_PUT" rc = "Code de réponse non HTTP: org.apache.jorphan.util.JMeterStopThreadException" rm = "Non un message de réponse HTTP: Fin de la séquence » tn = "" dt = "text" par = "1822" ng = "1" na = "1"/>

+1

puisque vous ne spécifiez pas le chemin d'accès au fichier, il le recherche dans le répertoire courant. Lorsque vous exécutez localement et en utilisant Maven, le répertoire courant est très probablement différent, par conséquent, il ne peut pas trouver ce fichier. Vous devez transmettre un chemin ou le rendre universel pour les deux cas (par exemple absolu ou disponible sur PATH) –

Répondre

0

défaut GUI JMeter chemin relatif 1-1 Design_APIs est le dossier bin

Les chemins d'accès relatifs sont résolus par rapport au répertoire de travail actuel (par défaut bin/répertoire).

Maven recherche dans différents chemin par défaut pour les fichiers src/test/jmeter répertoire

Voir guide:

dans src/test/JMeter. Lors de l'exécution du projet, le plugin JMeter Maven recherche les tests à exécuter dans ce répertoire.

Et vous pouvez trouver ce chemin dynamically

0

J'ai entendu Groovy is a new black donc je recommande le remplacement de votre fonction __FileToString() avec __groovy() function, l'équivalent Groovy d'obtenir dynamiquement le chemin du fichier relatif au répertoire de travail courant plugin Maven être quelque chose comme:

${__groovy(new File(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir() + System.getProperty('file.separator') + vars.get('JSON_FILE') + '.json').text,)} 

Voir JavaDoc on FileServer class pour plus de détails.