J'ai une demande de publication dans laquelle je télécharge l'image ci-dessous en utilisant le facteur:
J'essaie d'exécuter la même requête en utilisant Jmeter. J'ai fait le réglage suivant dans Jmeter:
Mais d'une manière ou d'une autre, cela ne fonctionne pas. J'ai essayé avec l'option multipart / form-data pour POST également mais pas de chance.
notre développeur d'API a défini la validation que si l'API obtient un autre fichier, puis une image, elle envoie une réponse: type de fichier non valide
. J'obtiens cette réponse tout le temps quand je demande POST avec l'image de Jmeter. Cela fonctionne bien avec le facteur.
Dans le post-processeur du débogueur, cela apparaît comme suit: HTTPsampler.Files = path: 'C: \ apache-jmeter-4.0 \ bin \ samplex.png' | param: 'fileName' | mimetype: 'image / png '
4 Réponses :
Vous voyez le bouton Parcourir .. dans l'image 2 que vous postez. Faites de même avec Postman, choisissez le fichier et envoyez la demande.
Content-Type
. Enfin, j'ai pu résoudre le problème en supprimant Nom du paramètre
et Type MIME
de l'onglet Téléchargement de fichier
. Je n'ai fourni que le chemin du fichier et cela fonctionne. J'ai également décoché Utiliser multipart / form-data pour POST
Comme je l'ai écrit dans le commentaire, si vous souhaitez envoyer un fichier binaire tel quel (pas comme valeur de paramètre), supprimez la valeur de la colonne Nom du paramètre
(fichier)
Voir la référence de requête HTTP de JMeter pour plus de détails:
Chemin du fichier: Nom du fichier à envoyer. S'il est laissé vide, JMeter n'envoie pas de fichier, s'il est rempli, JMeter envoie automatiquement la demande sous forme de demande de formulaire en plusieurs parties . S'il s'agit d'une requête POST, PUT ou PATCH et qu'il existe un seul fichier dont l'attribut Nom du paramètre '(ci-dessous) est omis, alors le fichier est envoyé comme le corps entier de la requête , c'est-à-dire non des wrappers sont ajoutés. Cela permet d'envoyer des corps arbitraires. Cette fonctionnalité est présente pour les requêtes POST, ainsi que pour les requêtes PUT.
Avez-vous essayé avec JMeter 5? Avez-vous essayé d'utiliser l'enregistrement HTTPS JMeter pour enregistrer la demande du facteur?
Essayez également de supprimer le
fichier
de la colonne Nom du paramètre