web-dev-qa-db-fra.com

Fichier de téléchargement JMeter avec chemin relatif à partir du fichier jmx

Je crée un échantillonneur de requêtes HTTP dans JMeter pour automatiser le téléchargement de fichiers vers un service http. Existe-t-il un moyen de définir le "Chemin de fichier" dans "Envoyer des fichiers avec la demande" à un chemin relatif à partir de l'emplacement du fichier jmx?

29
Eatdoku

Oui. (Cela a été confirmé dans JMeter v2.9)

Vous pouvez utiliser l'expression BeanShell suivante dans le champ de saisie du nom de fichier:

${__BeanShell(import org.Apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}<YOUR FILENAME HERE>

Donc, si votre fichier, "pload.jpg" était situé dans le même dossier que votre fichier de test JMX, la valeur complète serait

${__BeanShell(import org.Apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}upload.jpg

Pour le garder un peu plus propre, ajoutez un élément de configuration "Variables définies par l'utilisateur" où vous affectez la base de l'expression à une variable, par exemple

SCRIPT_PATH = ${__BeanShell( ...etc

Ensuite, la valeur d'entrée de votre chemin de fichier serait plus lisible:

${SCRIPT_PATH}upload.jpg

45
PålOliver

Je suis sous la version 2.11, et le script BeanShell n'a pas fonctionné pour moi, pour rendre le fichier CSV relatif, et donc pour créer un chemin relatif, vous devez simplement utiliser ce ~/filename.csv. Cela signifierait que le fichier CSV existe dans le même répertoire que le fichier JMX. Mais je suppose que vous pouvez le modifier par exemple ~/../results_dir/filename.csv etc..

Bonne chance.

6
Farah

J'ai trouvé la réponse ici http://kisbigger.blogspot.com/2013/09/pointing-to-files-with-relative-paths.html qui était ...

  • étape 1: créez un élément de configuration à variable définie par l'utilisateur dans votre projet.
  • étape 2: ajouter une nouvelle variable CONFIG_PATH
  • étape 3: dans la colonne valeur, placez ce code: $ {__ BeanShell (import org.Apache.jmeter.services.FileServer; FileServer.getFileServer (). getBaseDir ();)}
  • étape 4: utilisez le nom de variable où vous voulez comme $ {CONFIG_PATH}\config.xml

avoir un nom de fichier.csv dans le même dossier que le jmx et mettre ~/filename.csv avec JMeter 2.11 et un nouveau Java ne fonctionnait pas

2
Justin Key